Buscar y validar dos campos de formulario access 2007

Quisiera saber si me puedes ayudar tengo una base de datos en access 2007 la cual le ingreso la información por medio de un formulario quiero que cuando le ingrese el código en el formulario me haga la validación del campo: si existe me deje ingresarlo y si no existe me deje ingresarlo pero cuanto la fecha de pago sea la misma me arroje un mensaje de "N° de cuenta ya tiene asignada cantidad apagar"

todo esto se valide en el campo o se valide al momento de guardar

ejemplo:

campo: ncuenta 0001 fecha pago: 15-dic-2013 guardado

ncuenta 0001 fecha pago: 15-dic-2013 no se pueda guardar y mensaje

ncuenta 0001 fecha pago 15-ene-2013 si se permite guardar y mensaje

fechas de pago siempre son 15 de cada mes

nombre tabla: facturas

nombre formulario: facturas

nombre campo: ncuenta Ese campo lo tengo que si permite duplicado

nombre campo: fechapago Ese campo lo tengo que si permite duplicado

tengo botón guardar tengo botón nuevo tengo botón desplazamiento

Respuesta
1

Necesitaría saber qué tipo de dato es el campo [ncuenta]. Así como lo escribes parece un campo tipo texto, pero mejor si me lo puedes confirmar (o, si no lo es, decirme cómo lo has definido en la tabla).

en la tabla esta de tipo texto

Lo que tienes que hacer es, en el evento después de actualizar del campo de la fecha, escribir el siguiente código:

...

Private Sub fechapago_AfterUpdate()
'Declaramos las variables
Dim la fecha As Variant
Dim laCta As String
Dim miSql As String
Dim rst As DAO.Recordset
'Cogemos el valor de la cuenta
laCta = Me.ncuenta.Value
'Cogemos el valor de la fecha
laFecha = Me.fechapago.Value
'Creamos la SQL
miSql = "SELECT facturas.ncuenta FROM facturas" _
& " WHERE facturas.ncuenta='" & laCta & "'" _
& " AND facturas.fechapago=#" & Format(laFecha, "mm/dd/yy") & "#"
'Creamos el recorset sobre la consulta
Set rst = CurrentDb.OpenRecordset(miSql)
'Si el recordset devuelve 1 registro es que la información introducida ya existe
If rst.RecordCount = 1 Then
'Lanzamos el mensaje
MsgBox "N° de cuenta ya tiene asignada cantidad a pagar", vbInformation, "AVISO"
'Borramos la fecha introducida
Me.fechapago.Value = Null
End If
End Sub

...

Haz un par de pruebas en una copia de tu BD a ver si te funciona como quieres.

Ya me dirás.

hola gracias por el apoyo pero fijate que no me funciona ,lo puse después de actualizar y no manda mensaje al capturar un código repetido en la misma fecha de pago "N de cuenta ya tiene asignada cantidad a pagar"

Echa un vistazo a este ejemplo: https://www.mediafire.com/?45x2c2r13vj9xkk

Compáralo con tu BD, a ver si puedes detectar dónde tienes la diferencia.

adeser problema de alguna configuración , el que me mandaste esta perfecto como lo quería gracias seguiré intentando donde tengo la falla

nuevamente gracias por el apoyo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas