Problemas con la función DLookup para buscar por dos criterios
Señores muy buenos días. Cordial saludo.
Mi pregunta es la siguiente Tengo dos tablas, una llamada Comunidades que tiene los siguientes campos Idcomu(Autonumérico), Fechacre(Fecha), Nombre(Texto) y otra tabla llamada VrTarifa con los campos Idvrta(Autonumérico), Idcomu(Numérico viene de la tabla comunidades), Vrtarifa(Numérico). Se relacionan por el campo Idcomu. A su vez tengo un formulario llamado FrmVrTarifa, por donde creo el valor de la tarifa para cada comunidad. El formulario tiene los siguientes campos: Cuadro de texto (TxtFechacre, Fecha, para seleccionar la fecha), Cuadro combinado (CmbIdcomu, para seleccionar la comunidad, aunque muestre el nombre de la comunidad en realidad lo que guarda es el Idcomu), Cuadro de texto (TxtVrtarifa, numérico para digitar el valor de la tarifa). Este formulario en el cuadro de texto TxtVrtarifa en la hoja de propiedades, evento al salir tiene el siguiente código.
Private Sub TxtVrtarifa_Exit(Cancel As Integer)
If (Not IsNull(DLookup("[Vrtarifa]", "Vrtarifas", "[Vrtarifa] = " & Nz(Me.TxtVrtarifa, 0) & " And [Idcomu] = " & Nz(Me.CmbIdcomu, 0) & ""))) Then
MsgBox "El valor de la tarifa para esta comunidad ya existe", vbInformation, "Por favor verifique"
Me.TxtVrtarifa.SelStart = 0
Me.TxtVrtarifa.SelLength = Len(Me.TxtVrtarifa)
Cancel = True
Exit Sub
End If
End Sub
Esto con el fin de controlar que en una comunidad no se repita el valor de la tarifa. Pero en algunos casos lo hace bien y en otros me saca este error que muestro en la siguiente imagen, bueno como no supe como subir la imagen del error se los detallo a continuación
Se ha producido el error ‘3075’ en tiempo de ejecución:
Error de sintaxis (falta operador) en la expresión de consulta ‘[Vrtarifa] = And [Idcomu] = 1’
Ahora cuando ocurre ese error, ya les digo, ocurre cuando, selecciono una comunidad y le creo los valores de las tarifas, al hacer clic en el cuadro combinado (CmbIdcomu) para cambiar la comunidad enseguida salta el error. Este dice:
Como les dije anteriormente, al seleccionar una comunidad y comienzo a crearle las tarifas, funciona perfectamente, es más, si digito un valor ya creado, me saca el mensaje diciendo que valor ya existe para esa comunidad.
Exactamente esta es la descripción del error. Bueno se preguntarán y por qué el código en el evento al salir créanme que lo probado en varios, como: antes de actualizar, después de actualizar, al hacer clic y en ninguno funciona, en el ultimo evento que lo probé fue aquí y por eso quedo en este evento.