Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/04/2016, 00:56
juliocesar_seapf
 
Fecha de Ingreso: enero-2013
Mensajes: 3
Antigüedad: 11 años, 3 meses
Puntos: 0
Validar numero de factura de talonario en formulario access

Tengo un formulario de ventas "frm_ventas", en la cual quiero validar dos campos, el primero es el numero de talonario, es mismo que lo realiza de la siguiente forma:
Código:
Private Sub talvt_BeforeUpdate(Cancel As Integer)
If DCount("[talonario].nro_talonario", "[talonario]", "[talonario].[nro_talonario]= Forms!frm_ventas!talvt ") = 1 Then
    MsgBox "Talonario disponible", vbInformation, "CONTROL DE TALONARIO"
    Me!docvt = DLookup("[talonario].tipo_talonario", "[talonario]", "[talonario].[nro_talonario]= " & Me!talvt & " ")
    Me!autorizacionvt = DLookup("[talonario].nroautorizacion_talonario", "[talonario]", "[talonario].[nro_talonario]= " & Me!talvt & " ")
    Me!fechlimiteemisionvt = DLookup("[talonario].fechalimite_talonario", "[talonario]", "[talonario].[nro_talonario]= " & Me!talvt & " ")
Else
MsgBox "No existe el talonario", vbCritical, "CONTROL DE TALONARIO"
DoCmd.CancelEvent
End If
End Sub
de esta forma, cuando ingrese un numero de talonario que no exista, me saldrá un mensaje indicándome que el talonario no existe. Hasta allí todo va bien.

El otro campo a validar es el numero de la factura "nodocvt", para la cual cree una consulta "controltalonariovta", es mismo que muestra los numero de factura del numero del talonario que esta en el frm_venta, en otra tabla "talonario" tengo dos campos, uno donde empieza la numeración y el otro donde termina.

Necesito que me valide si el numero de la factura del talonario no esta en uso y esta dentro de los parámetro de inicio y fin de numeración

hice esta macro, pero me sale que ya esta en uso cualquier numero de ingreso
Código:
Private Sub nodocvt_BeforeUpdate(Cancel As Integer)
If _
DLookup("[talonario].nroinc_talonario", "[talonario]", "[talonario].[nro_talonario]= " & Me!talvt & " ") >= Forms!frm_ventas!nodocvt _
And _
DLookup("[talonario].nrofin_talonario", "[talonario]", "[talonario].[nro_talonario]= " & Me!talvt & " ") <= Forms!frm_ventas!nodocvt _
And _
DCount("[controltalonariovta].nodocvt", "[controltalonariovta]", "[controltalonariovta].[nodocvt]= Forms!frm_ventas!nodocvt ") = 3 _
Then
MsgBox "Numero de talonario disponible", vbInformation, "CONTROL DE TALONARIO"
Else
MsgBox "Numero de talonario en uso o fuera del rango", vbCritical, "CONTROL DE TALONARIO"
DoCmd.CancelEvent
End If
End Sub
espero por favor su ayuda
saludos
Julio Cesar