Access - Validacion con consulta

 
Vista:
sin imagen de perfil

Validacion con consulta

Publicado por Edgar (5 intervenciones) el 10/05/2017 16:06:45
Hola buen día a todos:

Estoy realizando un formulario donde doy de alta un número de factura y un nombre del proveedor entre otros datos, estos datos son los que me interesa validar, la validación es la siguiente:

- El número de factura puede ser igual a cualquier otra, con excepción que sea del mismo proveedor, entonces necesito hacer la comparación entre lo que se esta capturando y los registros que ya existen.
La validación la pienso realizar en el evento de guardar, si se cumple que ya existe que no guarde nada y que mande una ventana emergente que indique que ya fue capturada esa factura.
Solo estoy manejando una tabla (Facturas) y los campos son tal cual: Factura y Proveedor

ojala y me puedan ayudar, muchas gracias de antemano.

Saludos amigos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 14
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Validacion con consulta

Publicado por oemor (7 intervenciones) el 10/05/2017 20:44:29
TENGO EL MISMO PROBLEMA JEJEJE asi que estaré al pendiente de las respuestas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validacion con consulta

Publicado por Anonimo (3322 intervenciones) el 10/05/2017 23:45:34
1
IF DCount("*", "Facturas", "Factura =" & Me.Factura & " And Proveedor = '" & Me.Proveedor & "'") <> 0 Then MsgBox "La Factura ya existe"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Validacion con consulta

Publicado por Edgar (5 intervenciones) el 11/05/2017 15:54:02
ya lo agregue pero me manda un error:


error

Podrías ayudarme con un correo tuyo para enviarte otros archivitos?

Muchas gracias por tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validacion con consulta

Publicado por Anonimo (3322 intervenciones) el 11/05/2017 20:37:14
Observaras que he tratado a 'FACTURA' como un numero y a 'PROVEEDOR' como un texto.

Si 'factura' es un texto, añade las comillas simples tal como las tiene 'proveedor' y si proveedor es un valor numerico, quitaselas (tal como se aplica en el ejemplo a 'factura').

Lo del correo ... no, pero puedes publicarlos aqui y probablemente obtendras mas de una solucion (o esa es la finalidad de estos foros)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Validacion con consulta

Publicado por Edgar (5 intervenciones) el 11/05/2017 23:18:57
Tienes toda la razón, el tipo de dato en factura es texto, y como lo pusiste fue para numérico, ya hice el cambio como texto y funciona a la perfección gracias por tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Validacion con consulta

Publicado por Edgar (5 intervenciones) el 12/05/2017 00:00:57
oye amigo estoy realizando pruebas de captura, y me realiza la bien la consulta y me manda el mensaje de que la factura ya existe, pero después de cerrar la ventana emergente, reviso la tabla y aun así sigue guardando la info después de encontrar que ya existe, que instrucción falta para que NO grabe nada hasta que la condición ya no se cumpla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validacion con consulta

Publicado por Anonimo (3322 intervenciones) el 13/05/2017 20:22:53
La respuesta que funciono esta escrita asi:
1
IF DCount("*", "Facturas", "Factura =" & Me.Factura & " And Proveedor = '" & Me.Proveedor & "'") <> 0 Then MsgBox "La Factura ya existe"
Pero tambien se puede escribir asi y sigue siendo plenamente funcional:

1
2
3
4
IF DCount("*", "Facturas", "Factura =" & Me.Factura & " And Proveedor = '" & Me.Proveedor & "'") <> 0 Then
 MsgBox "La Factura ya existe
........
End IF

Solo has de sustituir los puntos suspensivos por lo adecuado a la necesidad por ejemplo:
.- abortar la salda del registro y volver el foco al campo 'factura' o 'proveedor' por si hay un error en los datos
.- deshacer los cambios en el registro actual (ojea algo en la ayuda sobre 'UNDO')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Validacion con consulta

Publicado por Edgar (5 intervenciones) el 16/05/2017 19:55:25
Todo funciona a la perfección muchas gracias por tu ayuda.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar