PDA

Ver la Versión Completa : Problema datetimepicker


amo3k
14-02-2010, 23:45:17
Buenas, tengo un problema y no tengo ni la menor idea de como resolverlo.

Tengo un formulario donde inserto fecha inicio y fecha final.

Cuando hago el insert:
adoquery2.SQL.Text:='insert into fa values ('+quotedstr(edit1.Text)+','+quotedstr(dblookupcombobox1.Text)+',#'+ formatdatetime('dd/mm/yyyy',datetimepicker1.Date)+'#,#'+ formatdatetime('dd/mm/yyyy',datetimepicker2.Date)+'#,+NULL,NULL,'+quotedstr(edit4.text)+')';
adoquery2.ExecSQL;

El insert en si funciona de maravilla pero e aqui el problema:

Como sabreis el datetimepicker eligues las 3 opciones: dia/mes/año.
El problema esta en que si en la parte dia, meto un numero menor que 12, al hacer el insert me lo toma como si fuera mes, y me cambia el valor de dia por el de mes.
No se supone que con el formatdatetime que le hago en el insert deberia distinguir que demonios es dia y que es mes?

Saludos.

amo3k
15-02-2010, 00:14:06
solucionado, hay que ponerlo al reves para que no te haga lo que me hacia a mi (mm/dd/yyyy). No tiene mucho sentido pero es asi :-)

saludos

Caral
15-02-2010, 00:16:57
Hola
No importa como se grabe en la BD la fecha, Access lo modifica a su modo.
Lo mejor es dejar que lo haga y cuando se requiera el dato formatearlo para que lo presente.

adoquery2.SQL.Text:='insert into fa values (:val0, :val1, :val2, :val3, :val4, :val5, :val6)';
ADOQuery2.Parameters[0].Value:= Edit1.Text;
ADOQuery2.Parameters[1].Value:= dblookupcombobox1.Text;
ADOQuery2.Parameters[2].Value:= DateToStr(DateTimePicker1.Date);
ADOQuery2.Parameters[3].Value:= DateToStr(DateTimePicker2.Date);
ADOQuery2.Parameters[4].Value:= ' ';
ADOQuery2.Parameters[5].Value:= ' ';
ADOQuery2.Parameters[6].Value:= edit4.text;
adoquery2.ExecSQL;

Saludos