Dlookup

Estimado experto. Creo que la consulta acerca del Dlooup se cerro automáticamente con 3 puntos error que quisiera aclarar. Aún quede con dudas, si has conseguido un ejemplo que yo pueda utilizar me serviría de mucho, recuerda que con un campo el Dlookup lo hace perfecto, el problema se presenta cuando utilizo dos campos. Mi correo es [email protected] gracias por tu esfuerzo de corazón

1 Respuesta

Respuesta
1
Creí que me lo habías cerrado con intención, ya que tampoco te estaba diciendo nada útil.
De todas formas, yo lo que ya empiezo a pensar es que tenemos un error de concepto. No tengo ni idea de porqué te da ese error, a mi no me sale.
En todo caso, creo que lo que estás haciendo es una validación del dato que se va a escribir en la tabla para comprobar si ya existe o no. La validación la haces después de que el usuario teclee el número de hoja. Ya de principio se me ocurre que un usuario con mala idea podría poner primero un nº de plano nuevo, una hoja cualquiera (entonces se hace la validación y la pasa) volver al campo del plano y poner uno ya existente. Entonces guarda el registro, sin hacer la validación.
¿Por qué no haces otra cosa? En lugar de comprobar cuando se teclea uno de los campos, hacerlo cuando se va a escribir el registro a la tabla.
Para hay que utilizar el evento 'antes de actualizar' del formulario, no de los campos. Y dentro, habría algo muy similar a lo que tienes hasta ahora, que sería
Dim Chequea As Variant
Chequea = (DLookup("[NroPlano]", "TablaPlano", "NroPlano='" & Me!NroPlano & "' and CantHojas=" & Me!canthojas))
If (Not IsNull(Chequea)) Then
Me.NroPlano.SetFocus
MsgBox "Ya existe una hoja de este plano en la base de datos (ACEPTAR PARA VER PLANOS EXISTENTES", vbInformation, "Plano Ya cargado"
DoCmd.RunMacro "ConsultaNroPlano"
Cancel = -1
End If
Mira que hago varias cosas, p.ej. lo del SetFocus que pone el cursor en el campo del nº plano para que el usuario lo vuelva a introducir. Y poner el Cancel a -1. Esto es para cancelar la acción de guardar el registro en la tabla.
Prueba a ver si de esta forma hay suerte... (que ya va siendo hora, la verdad)
Te envío por correo la base de datos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas