Access - Error '94' por un DLookup

 
Vista:

Error '94' por un DLookup

Publicado por Aranza (2 intervenciones) el 08/02/2013 18:53:09
Tengo este codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub cmdlogin_Click()
Dim a As String
 
a = DLookup("exp", "Alumnos", "exp=" & txtExp)
 
If (a = txtExp.Value) Then
    DoCmd.Quit
    Else
    x = x + 1
    MsgBox ("El usuario no puede entrar, solo tienes 3 Intentos")
End If
 
If (x >= 3) Then
    MsgBox ("Expediente Invalido, no te encuentras incrito")
End If
End Sub


al ingresar el expediente (uno correcto) etra sin problema alguno pero cuando introdusco un expediente que no esta el la tabla de Alumnos me sale error '94' y no entra al else, que puedo hacer?
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
Imágen de perfil de Neckkito
Val: 529
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Error

Publicado por Neckkito (1157 intervenciones) el 09/02/2013 19:19:30
Hola!

Tienes dos opciones:

O bien cambias la definición del tipo de variable de a a Variant, así:

dim a as variant

O, si quieres que siga siendo texto, utilizas la función NZ, así:

a = nz(DLookup("exp", "Alumnos", "exp=" & txtExp),"")

Doy por supuesto que txtExp sí contiene valor, y que es un valor numérico.

A ver si así te va bien.

De todas maneras, ten en cuenta que:

. Docmd.Quit te va a cerrar la base de datos, no el formulario.
. x no está definida como tipo de variable acumulativa. Eso significa que se podrán hacer todos los intentos que quieras y no te va a "cortar el proceso" al tercer intento.

Saludos,


http://neckkito.siliconproject.com.ar
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