Si un campo es igual a los datos introducidos en otro campo muestre un mensaje

Quiero crear un formulario de la tabla "entradas" donde si en el campo [fecha] se introduce un valor que sea igual que el campo [fecha bloqueada] de la tabla "fechas bloqueadas" nos muestre un mensaje donde nos indique que esa fecha está bloqueada

Respuesta
1

en el evento Después de actualizar del campo [fecha], coloca este código:

Dim miFecha as date

Dim db as Database

Dim rst as Recordset

miFecha=Nz(Me.fecha.Value,0)

'Si no hay fecha, salimos sin hacer nada

If miFecha=0 Then Exit Sub

Set db=CurrentDB

Set rst=db.OpenRecordset("fechas bloqueadas", dbOpenDynaset)

rst.MoveFirst

Do Until rst.EOF

If rst("fecha bloqueada").Value=miFecha Then

MsgBox "La fecha introducida está bloquea",vbInformation+vbOkOnly,"FECHA BLOQUEADA"

End If

rst.MoveNext

Loop

rst.close

db.Close

Set rst=Nothing

Set db=Nothing

Lo he probado pero Dim db as Database me da un error de compilación (No se puede encontrar el proyecto o la biblioteca)

Me puedes ayudar a solucionarlo? Gracias

Tienes que registrar la librería Microsoft DAO .xx.

Te explico cómo:

1.- Una vez abierta la BD pulsa la combinación de teclas ALT+F11. Aparecerá el editor de VB.
2.-¿Vete a Menú Herramientas? Referencias...
3.- Se abrirá una ventana con las referencias disponibles. Busca una que tiene por nombre
“Microsoft DAO xx.yy Object Library”, donde xx. Yy será la versión que tengas instalada.
4.- Marca su check y acepta.

Con eso ya te debería funcionar el código. Si aún te da algún error, cambia las lineas 2 y 3 por Dim db as DAO.Database y Dim rst as DAO. Recorset

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas