Validar dato antes de insertarlo en una tabla

Tengo una bd en access, en una tabla1 tengo los campos nombre y código, en la tabla2 tengo los campos código y fecha estas dos tablas se relacionan entre si por el campo código. La idea es que en un formulario cuando yo ingrese un código válido (que exista en la tabla1) me inserte el registro en la tabla2 el código que acabe de inigresar y la fecha actual en los campos código y fecha. ¿La pregunta es cómo puedo hacer para que al ingresar el código en el formulario me valide que éste código exista en la tabla1 y si no existe me genere un mensaje de código incorrecto y me limpie el campo para ingresar uno nuevo?

1 respuesta

Respuesta
1
Mmmmmmmmm... Bueno...
La idea es la siguiente...:
1- Al crear las tablas tabla1 y tabla2 debes relacionarlas UNO a UNO para que lo que pides pueda funcionar ( los campos código deberán ser la clave principal en las dos tablas)
2 Crear el formulario con el asistente para formularios con la tabla1 y agregar en campo fecha de la tabla2 .
y... LISTO!
Si necesitas algún tipo de aclaración favor escribir de lo contrario favor evaluar la respuesta
GRACIAS
PEZUARCO
Mil gracias, por atender mi solicitud, pero como me planteas la situación no me serviría pues si coloco el código como llave en la tabla2, no me permitiría repetirlo. Con lo que he intentado es que en el formulario en el textbox código el origen del control es el código de la tabla2 y en el evento antes de actualizar tengo esto:
Dim rs As Recordset
Me.Tag = Empty
Set rs = CurrentDb.OpenRecordset("select nombre,codigo from tabla1 Where codigo ='" & Me.codigo & "'")
 If Not rs.EOF Then
      Me.nombre = rs.Fields("nombre")
   Else
      Me.nombre = ""
      MsgBox "Código no valido"
    End If
Con esto el me realiza la validación bien y si el código existe me genera el registro en la tabla2 pero si el código no existe me saca el mensaje del msgbox y luego me muestra que no se puede agregar el registro porque necesita un registro relacionado con la tabla1, pero no me limpia el textbox para que yo pueda volver a ingresar otro código, y la idea es que lo limpie automáticamente para que el usuario no tenga que seleccionarlo y borrarlo para poder ingresar el nuevo código. He intentado colocando despues del msgbox Me. codigo="" pero me genera error. Te agradezco si me puedes ayudar.
Hummmmm... ¿pero si trataste de hacer lo que te dije?
...
... entonces puedes hacer lo siguiente para limpiar el texbox; ¿Pero lo pruebas y realizas muchos ensayos OK?
En el evento después de actualizar del formulario le escribes me. undo ; ¿Pero mira bien que solamente es para que limpies los datos del formulario Ok?
Pero si deseas tener un comportamiento tal y como lo describes
""... Al ingresar el código en el formulario me valide que este código exista en la tabla1 y si no existe me genere un ..."
Después de realizar pruebas y ensayos escríbeme al correo [email protected]  ; ¿Y me das el tuyo para enviarte una prueba que tengo ok?
Mil gracias por tu ayuda, fue de gran utilidad. Realice lo que me dijiste y le agregue un insert into sobre la tabla y listos funcionó. Excelente tu ayuda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas