Access - DLOOKUP en campos con mascara

 
Vista:

DLOOKUP en campos con mascara

Publicado por SirNas1983 (2 intervenciones) el 13/06/2019 15:59:03
Buenos dias estimados.
Estoy trabajando en una BD donde tengo que controlar la entrada y salida de materiales de un obrador. Quiero que al cargar la entrada de material no se repita el mismo remito de acuerdo al proveedor, utilizando una macro y la funcion Dlookup..

El campo [rtoproveedor] es textocorto de 13 caracteres de longitud con la siguiente mascara ####-/#########;0
[IdProveedor] es también textocorto con la siguiente mascara: ##-/########-/#;0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub RtoProveedor_Exit(Cancel As Integer)
rto = [RtoProveedor]
prov = [IdProveedor]
If rto = emtpy Then
Else
rtob = DLookup("[RtoProveedor]", "Entrada", "[RtoProveedor] = " & rto & " AND [IdProveedor] = "& prov )
 
If rtob = rto Then
 
MsgBox "El remito ya se encuentra cargado", vbOKOnly, "Remito duplicado"
 
[RtoProveedor] = Empty
 
Else
End If
End If
 
End sub

Cuando corro la macro con una inspección y hago el paso a paso, DLOOKUP no me arroja ningún valor, queda "empty". Asumo que tiene algo que ver con la mascara de entrada, pero no lo se, ya probe de varias formas.

Agradeceria me iluminen porque hace varios dias me esta dando una paliza esto.
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

DLOOKUP en campos con mascara

Publicado por Marcelo (12 intervenciones) el 13/06/2019 18:52:12
Te recomiendo que definas una variable String para almacenar el criterio y luego uses como criterio de la función esa variable

1
2
3
4
5
6
Dim strCrit As String
 
 
strCrit = "Entrada.[RtoProveedor] = " & rto & " AND Entrada.[IdProveedor] = "& prov
 
rtob = DLookup("[RtoProveedor]", "Entrada", strCrit )
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

DLOOKUP en campos con mascara

Publicado por SirNas1983 (2 intervenciones) el 13/06/2019 20:39:11
Gracias estimado.

Si bien tu solución no me ayudo en forma directa si lo hizo indirectamente. Para que me funcione correctamente tuve que agregarle apostrofes (comillas simples) a cada una de las variables tipo string:
1
crit = "[RtoProveedor] = '" & rto & "' and [PuntoVenta] = '" & Pto & "' and [IdProveedor] = '" & prov & "'"



Con eso anduvo a la perfección
Millon de gracias.
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