Error de ejecución en formulario

Soy fisioterapeuta y estoy diseñando una base de datos para gestionar una gran lista de espera. La he creado con access 2003 y la he convertido a 97 que es lo que tengo en el trabajo.
En un formulario tengo el campo [NOMBRE] con un evento después de actualizar para que me devuelva la fecha actual en la que se pauta el tratamiento; en mi ordenador va bien, pero en el del trabajo me da un error de compilación que no sé si corresponde a un error de sintaxis. Te pongo el código por si he hecho algo mal:
Private Sub NOMBRE_AfterUpdate()
If [NOMBRE] <> "" Then
[FECHA PETICION] = Date
End If
End Sub

6 Respuestas

Respuesta
1
Prueba poniendo el código al perder el enfoque del campo [nombre]:
Private Sub nombre_LostFocus()
If [nombre] <> "" Then
[FECHA PETICION] = Date
End If
End Sub
A mi me funciona en Access 2000 y 97.
Respuesta
1
Primero te puedo comentar que Access presenta este tipo de inconvenientes cuando uno lleva el código a otro computador (no en todas las ocasiones).
Ten en cuenta que el código de 2003 y el de 97 es relativamente distinto, y no te podría decir en éste momento qué cosas puedan cambiar, pero ésto lo puedes saber de una manera: compilar el código.
Ésto lo puedes lograr abriendo cualquier módulo en vista diseño y haciendo clic en compilar de la ficha proyecto.
También podrías intentar colocando la sentencia completa para los campos del formulario: Forms!nombreformulario! [nombre_del_campo]
Gracias;L ¿Qué es excatamenta compilar? ¿Empaqueta y adjunta las librerías necesarias para que los enentos funcionen? ¿O es una especie de repaso de los eventos para ver su funcionamiento?
La compilación generalmente consiste en empaquetar y adjuntar las librerías para que los eventos funcionen, previa depuración. Pero en VBA es realmente una especie de respado de los eventos para comprobar su funcionamiento, es decir, la depuración del mismo código, certificando que no contiene errores. Adicionalmente te permite disminuir el tamaño de la base de datos en el disco.
Respuesta
1
Necesito que me indiques cual es el error.
El error es algo así como que falta referencia a objeto. Cuando intento convertir de 2003 a 97 también me pone que no tengo instaladas algunas librerías de access 97, pero no sé cómo instalarlas.
Pues no me acuerdo porque me pasa en el del trabajo y estamos de vacaciones. Se que me pono algo de error de compilación y se me abre el editor de visual basic subrayándome en fosforito la línea Private Sub NOMBRE_AfterUpdate() y aparece una flecha señaladora delante de esta línea. Si esto no te sirve en la semana de Pascua anotaré el error y te lo mando.
Gracias por contestar.
La única forma sería que tengas instalado en forma completa el access 2003 o instalar también el access 97.
Respuesta
1
¿Qué pasará si lo pones así?:
Private Sub NOMBRE_AfterUpdate()
If isnull(me.NOMBRE) or <> "" Then
me.[FECHA PETICION] = Date
End If
End Sub
Respuesta
1
La mayoría de problemas entre versiones del access son las funciones, por lo que lo más probable es que la función date no te la acepte la version 97 entonces te recomendaría probar con la función now, en este momento no tengo una maquina con office 97 pero voy a verificar más adelante por si nu funcionara.
Respuesta
1
Prueba con esta variación
Private Sub NOMBRE_AfterUpdate()
If [NOMBRE] <> "" Then
[FECHA PETICION] = vba.Date
End If
End Sub
Hay veces que en los ordenadores no tienen cargada alguna librería y hay que especificarlo algo más.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas