¿Cómo puedo crear un encabezado en mi formulario en el cual muestre la inf. De campos que estén en e

Tengo un formulario donde acceso datos personales como nombre, apellido paterno, materno, etc.

Lo que me gustaría hacer es generar un campo en el que yo pueda visualizar el nombre del registro en curso, por ejemplo:

En los campos se ve:

Nombre: Silvia

Apellido paterno: Garza

Apellido Materno: Casanueva

Lo que me gustaría es que en el encabezado se pudiesen visualizar estos tres campos juntos:

Silvia Garza Casanueva

Y así vayan cambiando dependiendo el registro en el que esté.

1 Respuesta

Respuesta
1

¿Tienes algún identificador único del registro; es decir, un campo clave principal?

Si es así, ¿Qué nombre tiene?

Ya me dirás.

Saludos,

Hola¡

Si, tengo uno se llama ID y es único para cada registro.

Gracias¡

Voy a suponer que tus campos se llaman de la siguiente manera (tú deberás sustituirlos en los códigos por los que tengas en tu BD):

- [Nombre], para el nombre

- [Apellido1], para el primer apellido

- [Apellido2], para el segundo

Te explico lo que debes hacer:

Fase 1: para que te actualice el nombre cuando navegas por los registros

1.- En el encabezado de tu formulario creas un cuadro de texto. Sacas sus propiedades y te vas a la pestaña Otras -> Nombre, y ahí le escribes txtNombreFull

2.- Sacas las propiedades del formulario y te vas a la pestaña Eventos -> Al activar registro, y le generas el siguiente código.

...

Private Sub...
'Declaramos las variables
Dim vNom as string, vAp1 as string, vAp2 as string
'Miramos si el ID tiene valor. Si no lo tiene es que se
'trata de un nuevo registro -> Salimos sin hacer nada
If isnull(me.ID.value) then exit sub
'Cogemos los valores de los campos
vNom = nz(me.[Nombre].value,"")
vAp1=nz(me.[Apellido1].value,"")
vAp2=nz(me.[Apellido2].value,"")
'Creamos el valor concatenado en txtNombreFull
me.txtNombreFull.value = vNom & " " & vAp1 & " " & vAp2
End Sub

...

Fase 2: creación del nombre para un registro nuevo.

Lo ideal sería aplicar el código a los tres campos implicados, para asegurarse de que no se produce ningún desliz. Ahora bien, podría aplicarse el código al rellenar el último campo ([Apellido2]), lo cual haría que el txtNombreFull se te mostrara al introducir el segundo apellido. El problema vendría si das de alta a alguien que sólo tiene un apellido.

Como el código es el mismo (muy parecido además al que te acabo de escribir), puedes elegir si lo pones en los tres campos o sólo en uno.

1.- Sacas las propiedades del campo y te vas a la pestaña Eventos -> Después de actualizar, y generas el siguiente código:

...

Private Sub...
'Declaramos las variables
Dim vNom as string, vAp1 as string, vAp2 as string
'Cogemos los valores de los campos
vNom = nz(me.[Nombre].value,"")
vAp1=nz(me.[Apellido1].value,"")
vAp2=nz(me.[Apellido2].value,"")
'Creamos el valor concatenado en txtNombreFull
me.txtNombreFull.value = vNom & " " & vAp1 & " " & vAp2
End Sub

...

Y eso es todo :)

Ya me dirás si te sale algún problema.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas