¿Cómo puedo hacer para que cuando no encuentre un cuadro combinado me salga un mensaje?

Hola TELEMACO.
Mira, tengo una BD (Access XP) donde a través de un "cuadro combinado" efectúo una búsqueda de registros en un campo "NOMBRE". Cuando lo encuentra me saca los datos correspondientes a ese nombre. Hasta quí todo bien, pero lo que me gustaría saber es como puedo hacer para que cuando no encuentre el nombre que le pongo en ese "cuadro combinado" me salga un mensaje tipo "NOMBRE NO ENCONTRADO".
Gracias.

1 Respuesta

Respuesta
1
Debes hacer una consulta desde programación, que busque el nombre en la tabla que necesitas, en este caso como es el combo que selecciona el nombre entoncews debe ser en el evento AfterUpdate del Combo:
*************************
Private Sub MiCombo_AfterUpdate()
Dim RegDatos as dao.Recordset
If Not isnull(MiCombo) then
SQL = "select * from MiTabla WHERE NOMBRE = '" & MiCombo & "';"
set RegDatos = Currentdb.OpenRecordset(SQL)
If RegDatos.Recordcount < 1 then
Msgbox "Nombre No encontrado"
Exit sub
end if
End Sub
****************************
Bueno aquí utilizo una variable recordset, para guardar los resultados de la consulta sql... primero se debe revisar que No esta nulo el combo (lo llame MiCombo)... si cumple esta condición busca TODOS LOS CAMPOS en la tabla "MiTabla" CUYO NOMBBRE SEA IGUAL AL SELECCIONADO EN EL COMBO...
....WHERE NOMBRE = '" & MiCombo & "'
OJO:COMO EL TIPO DE DATOS ES TIPO TEXTO va con las comillas sencillas,si fuera
TIPO NUMERICO NO LAS TENDRIAS o sea seria:
...WHERE NOMBRE = " & MiCombo & "
AHORA La consulta la mando al recordset...
set RegDatos = Currentdb.OpenRecordset(SQL)
Y simplemente después reviso si el total de registros es mayor a cero(osea encontró datos)... sino devuelve el cuadro de mensaje "NOMBRE NO ENCONTRADO"
If RegDatos.Recordcount < 1 then
Msgbox "Nombre No encontrado"
Exit sub
end if
Me avisas como te fue..
Att:telemaco

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas