Criterios con DoCmd.OpenForm en Access 2002

Estoy trabajando en una base de datatos access, la verdad no se mucho de VBA, pero he logrado hacer funcionar unos pocos código. Pero este no he podido hacerlo correr. La idea, es abrí el formulario ("Formulario_SALIDA_Carro"), en un registro especifico, en donde el "Numero_Tunel" es igual a 1 (numérico), y "Fecha_Salida" es nulo (fecha general). La idea es que al hacer Click en el botón "SALIDA1" llegar al primer registro en que el numero de túnel es 1 y la fecha de salida es nula, para poder completar la fecha de salida. El código que tengo en este momento es el siguiente, y me tira el error "no coinciden los tipos"; creo que es un problema en la definición de variables. Ojala puedas ayudarme.
Private Sub SALIDA1_Click()
On Error GoTo Err_SALIDA1_Click
Dim stDocName As String
Dim stLinkCriteria As String
Dim stLinkCriteria2 As String
stDocName = "Formulario_SALIDA_Carro"
stLinkCriteria = "Fecha_Salida Is Null" 'funciona por si solo
stLinkCriteria2 = "[Numero_Tunel]=" & 1 'funciona por si solo
DoCmd. OpenForm stDocName,,, stLinkCriteria2 And stLinkCriteria 'error No coinciden los tipos
Forms![Formulario_SALIDA_Carro]![Fecha_S. = Now() 'funciona bien
Exit_SALIDA1_Click:
Exit Sub
Err_SALIDA1_Click:
MsgBox Err.Description
Resume Exit_SALIDA1_Click
End Sub

1 respuesta

Respuesta
1
No entiendo muy bien por que lo querés hacer así... me parece que te estás complicando mucho con tanto código y lo que querés hacer lo podes lograr muy fácilmente con una simple consulta...
Yo particularmente recomiendo que se usen, siempre que se pueda, las herramientas de Access. Y recurrir a VBA cuando lo que querés hacer no se puede lograr con ellas...
Bueno, si no sabés hacer la consulta o no querés hacerlo así por algún motivo, volvé a escribirme...
El botón que estoy tratando de hacer funcionar, se encuentra en un Formulario, en donde tengo 12 botones iguales a este, cada uno con diferente criterio (varia "Numero_Tunel" desde 1 para el primer botón hasta 12 para el doceavo botón) si lo hago con una consulta en access igual tendría que escribir un código para cada botón e ir variando el criterio de la consulta dependiendo del botón en el que se haga click, creo que eso seria aun más complejo que lo que pretendo hacer.
El problema es que cada uno de los criterios funciona bien por separado, pero cuando aplico los 2 criterios juntos me da el error "no coinciden los tipo". Me da la impresión que el tipo de registro es lo que ocasiona el problema.
El campo "Numero_Tunel" es Numérico.
El campo "Fecha_Salida" es de Fecha.
Muchas Gracias
Entiendo lo que decís...
Si te parece, pásame la BD al correo ([email protected]), así la veo bien y te ayudo a encontrar una solución.
Ahí estuve viendo lo que me mandaste y me parece que el código que querés sería algo así:
--------------------------------------------------------------------
Private Sub SALIDA1_Click()
On Error GoTo Err_SALIDA1_Click
    Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "Formulario_SALIDA_Carro"
    stLinkCriteria = "IsNull(Fecha_Salida) And [Numero_Tunel]= 1"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
    Forms![Formulario_SALIDA_Carro]![Fecha_Salida].Value = Now()
Exit_SALIDA1_Click:
    Exit Sub
Err_SALIDA1_Click:
    MsgBox Err.Description
    Resume Exit_SALIDA1_Click
End Sub
---------------------------------------------------------------------------
Pruébalo y después me contás como te fue...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas