FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Poner un campo de fecha a 'Null'
Hola Amigos !
Tengo un problema cuanto menos curioso. Lo que yo precisamente quiero es poner un campo de fecha a 'Null' ! Mi problema es cuando previamente ese campo YA CONTENIA una fecha ! Tengo un DBEdit, si el campo es Null y no introduzco caracter alguno, perfecto. Pero si previamente había introducido una fecha y vuelvo a editar el campo, no tengo manera de borrar la fecha completamente ! Si pongo todo a 0 me dá error diciendo que no es fecha válida. Y caracteres 'espacio' no me deja. Indicar que tengo puesto una máscara EditMask = '!99/99/0099;1;_' Un saludo a todos ! |
#2
|
||||
|
||||
Que sucede si usas este truquito?
Donde TDataset es el TDataSet que estes usando... TTable, TQuery, TRxMemoryTable, T...
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ Última edición por jhonny fecha: 29-11-2005 a las 18:10:30. Razón: Quedo mal escrito TTable |
#3
|
||||
|
||||
No había pensado en la solución tuya.
No obstante, creo que no me soluciona mi asunto en el momento de la edición por parte del usuario en pantalla del campo correspondiente. Tengo p.ej. 01/01/2005 grabado ya previamente en el DataSet asociado. Entonces al pedir la edición en pantalla del DBEdit, me aparece, claro está, por defecto 01/01/2005 en pantalla. (Tengo la propiedad AutoSelect a True). Si ahora el usuario pulsa 'Supr' (con lo que el campo DBEdit se queda como '__/__/____') y enter, el Delphi me devuelve un error interno de fecha no válida antes de poder inteceptarlo por ningún evento (... no es verdad?). Y por lo tanto no veo la manera de salir de dicho DBEdit para utilizar en su caso la funcion 'Clear' que propones. P.D. Indicar que utilizo Delphi 2005. Gracias de nuevo |
#5
|
||||
|
||||
Cita:
// Saludos |
#6
|
||||
|
||||
Gracias Roman,
Tu consejo me encaminó bien, aunque me quedan ciertas dudas. La solución que le he dado : El problema adicional que tenía es que el campo correspondiente tiene un evento OnValidate, y si simplemente ponía el texto del DBEdit en blanco, entonces en el evento OnValidate me volvía a salir el mismo error 'Invalid variant type conversion of Null variant into TDateTime'. Mi duda sigue siendo por qué no me funciona (al menos en mi Delphi 2005), la función Clear con el campo de fecha, ya que me dá el error que indico arriba. Y también agradecería si alguien me pudiera aclarar como poder ejecutar correctamente este comando : Código:
IBQuery1DATEFROM.AsVariant := null; |
|
|
|