PDA

Ver la Versión Completa : como iniciar el DBDateTimePicker con la fecha actual


Goyo
12-12-2006, 19:30:22
Necesito saber como poner el DBDateTimePicker con la fecha actual, ya que cuando ejecuto mi programa donde utilizo varios DBDateTimePicker (3) pero todos me los pone con la fecha 30/12/1899, esto sucede siempre que ejecuto mi programa para capturar datos o cuando lo inserto por primera vez... :confused:

Albano
12-12-2006, 19:40:57
No conozco el DBDateTimePicker, pero he usado el DateTimePicker y cuando inicializo mi programa le pongo la siguiente instrucción para que se ponga la fecha actual:
DateTimePicker.Date := now
Espero que te sirva.

AzidRain
12-12-2006, 19:42:38
coloca un Uses DateUtils; al inicio de tu unidad y
pones la propiedad date a la fecha actual

TDatetimePicker.Date := Today; // Sustituir TDateTimePicker por el nombre de tu variable
//o
TDatetimePicker.Date := Now;

Goyo
12-12-2006, 19:49:21
creo que No me estoy explicando y no me estan entendiendo, miren lo que quiero es que el componente DBDateTimePicker1 lo utilizo para grabar directamente desde este componente a mi Base de Datos (BD) de MySQL y no utilizar un DBEdit1 que este asimismo, yo le grabe la fecha desde un DateTimePicker1, para evitar eso hago uso del DBDateTimePicker para que grabe directamente al campo fecha de mi BD.

kuan-yiu
12-12-2006, 20:21:35
Esa fecha que te aparece es el equivalente a un nulo en el campo fecha de la base de datos, por eso cuando estás insertando aparece "en blanco", lo que equivale a "30/12/1899" visto en pantalla.
Si estás insertando puedes inicializar tú mismo ese campo a la fecha actual (yo siempre inicializo el mayor número posible de campos) y luego si el usuario quiere ya la cambiará por otra.

hkromo
13-12-2006, 04:52:13
Hola a todos:

Una de las formas para colocar la fecha actual a un componente vinculado es en el momento de crear un nuevo registro y esto se hace en el evento OnNewRecord del dataset que este utilizando, ejemplo:

procedure Tfrmpresupuesto.mtencNewRecord(DataSet: TDataSet);
begin
mtencFECHA.AsDate := Date;
end;


esto sin importar que componente este vinculado al campo.
Es de mucha utilidad este evento, ya que por el se puede inicializar muchos valores por defecto. Otra es segun el tipo de motor que se este utilizando se deja por defecto un valor inicial o un disparador al insertar para cambiar dicho valor.