Cómo mostrar los datos encontrados en un MsgBox?

Tengo una validación para que me alerte si un usuario ya tiene algún registro en la base de datos con el siguiente IF:

If DCount("IDENTIFICACION", "tblNotas", "IDENTIFICACION = " & Me.txt_Num_Identificacion & "  AND ESTADO_CITA = 'PENDIENTE'") > 0 Then
Me.txt_NOMBRE_COMPLETO = DLookup("Nombre_Completo", "tblNotas", " IDENTIFICACION=" & Me.txt_Num_Identificacion & " ")
Me.txt_F_Registro = DLookup("FECHA_REGISTRO", "tblNotas", " IDENTIFICACION=" & Me.txt_Num_Identificacion & " ")
Me.txt_F_Cita = DLookup("FECHA_PROXIMA_CITA_CONTROL", "tblNotas", " IDENTIFICACION=" & Me.txt_Num_Identificacion & " ")
MsgBox "El empleado:" & Form_frmArchivo.txt_NOMBRE_COMPLETO & ",cuenta con otra solicitud PENDIENTE que se registró el: " & Form_frmArchivo.txt_F_Registro & " y tiene su cita con el especialista para el día: " & Form_frmArchivo.txt_F_Cita & "", vbInformation, "Unifique las solicitudes"
End If

El problema que tengo, es que algunos empleados tienen más de un registro con el estado "Pendiente", mi consulta es existe alguna forma de mostrar todos los registros en el MsgBox ?

1 respuesta

Respuesta
1

Te digo lo que haría, luego tú le cambias los nombres. Si tengo una tabla Notas

Con ella crearía una consulta Consulta1 con el diseño que ves

Le añado ese campo Orden para que me diga las veces que se "repite" un empleado. En la instrucción podría decirle que sólo tuviera en cuenta las fechas futuras, etc. Al abrirla

Puedo comprobar que Pepe tiene 3 citas. Luego en un formulario tengo un cuadro de texto, que llamo Identif( para no trabajar mucho) y escribo Pepe

Cuando Pulso Enter

El código del evento Después de actualizar del cuadro de texto Identif es

Private Sub Identif_AfterUpdate()
If DCount("*", "notas", "empleado='" & Me.Identif & "'") >= 1 Then
Dim i As Byte, mensaje As String
For i = 1 To DCount("*", "notas", "empleado='" & Me.Identif & "'")
mensaje = Nz([mensaje], "") & ", " & DLookup("fechacita", "consulta1", "orden=" & i & "")
Next
mensaje = Right([mensaje], Len([mensaje]) - 1)
MsgBox "Este empleado tiene citas los días " & mensaje & "", vbOKOnly, "Que lo sepas"
End If
End Sub

No me había fijado en lo de Pendiente. Deberías hacer primero una consulta que te muestre solo los empleados con citas pendientes y con esa consulta haces la que llamo Consulta1.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas