Bien, he sintetizado y, para ir descartando cositas, el código lo he dejado
como sigue:
Public Type tpControlesFichaFirmas
firFecha As Date
End Type
Global gnCamposFichaFirma As tpControlesFichaFirmas
...
With gnCamposFichaFirma
.firFecha = ??????
End With
DETALLES: VB6, y acabo de instalarle el SP6.
-------------------------------------------------------------------------
La verdad es que has ido dando detalles con cuentagotas.
Quizá esté equivocado, pero yo no encuentro lógico el error que comentas
en la línea que indicas.
Que «vbNull» almacene '31/12/1899' es normal, porque esa constante es un
entero largo cuyo valor es '1', y lo mismo como te sucede para «vbEmpty»
cuyo valor es '0'.
Pero asignar el valor 'Null' a un campo 'Fecha/Hora' que no esté
"Requerido", almacena el valor 'Nulo'. Y si el campo sí estuviese
establecido como "Requerido", el error sería otro y no te lo debería dar en
esa línea, sino al intentar actualizar el registro a través del método
'.Update'.
Digamos que en respuesta a la pregunta con la que abriste la consulta,
para modificar un campo fecha estableciéndole como valor un 'Nulo':
'********
...
Set objBD = DAO.OpenDatBase(Ruta_Fichero)
objBD.Execute "UPDATE LaTabla SET CampoFecha = NULL WHERE
AlgunaCondición"
...
'********
Ó si lo trabajas a través del conjunto de registros:
...
rst.Edit
rst.Fields("CampoFecha").Value = Null
rst.Update
...
'********
Yo creo que deberías dar al grupo más detalles, empezando por mostrar la
declaración y las sentencias de asignación de las variables que referencían
la apertura de la base y obtienen el conjunto de registros, con cual versión
de DAO estás trabajando, propiedades de ese campo "Fecha", ...
--
Saludos
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
( ! ) Respuestas precedentes en Google:
http://groups.google.com/group/microsoft.public.es.vb
( i ) Temperancia en el foro:
http://support.microsoft.com/default.aspx?scid=fh;ES-ES;newsreglas
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -