FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Problema Fechas y no ve ningun dato
Buenas, tengo esta consulta :
cadenaSQL := 'SELECT expedientes.codexp AS a, expedientes.refcomp AS b, expedientes.fnotif AS c, resumenpagos.totpagosaut AS e, tratamientos.diasfac AS f, asegurados.edad AS g, ' + 'HFIJING+HFIJAMB+HFIJTRAT+HVARDESC+HREEMBOLSO+HESP AS H' + ' FROM HONORCIAS RIGHT JOIN (((asegurados INNER JOIN expedientes ON asegurados.codaseg = expedientes.codaseg) LEFT JOIN resumenpagos ON expedientes.codexp = resumenpagos.codexp) LEFT JOIN tratamientos ON ' + ' expedientes.codexp = tratamientos.codexp) ON HONORCIAS.CODEXP = expedientes.codexp '+ ' where expedientes.fnotif >= "' + datetostr(strtodate(fecha1.Text)) + '"' + ' and expedientes.fnotif <= "' + datetostr(strtodate(fecha2.Text)) + '"' + ' ORDER BY expedientes.codexp'; qry := TIBQuery.Create(qry); qry.database := datamodule2.database; Qry.SQL.Text := cadenaSQL; qry.open(); Si no le pongo lo del where me picha datos con fecha 15/03/2004 pero si pongo el where con las fechas de todo el año 2004 no me picha ningun dato. ¿Por que puede ser? La columna expedientes.fnotif es varchar ( estoy obligado a poner este tipo ). Uso delphi 5.0 con interbase. Un saludo y gracias anticipadas. |
#2
|
||||
|
||||
Creo entender que coges la fecha de un Tedit... yo me aseguraría que pilla el formato de fecha que tú quieres: Fecha >= '+quotedStr(FormatDateTime('mm/dd/yyyy',dtInicio.Date)
Espero te sirva de algo. SAludos |
#3
|
|||
|
|||
Enas esto que me comentas lo puse asi :
' where expedientes.fnotif >= '+quotedStr(FormatDateTime('mm/dd/yyyy',fecha1.text)+ Y esta linea me da este error : "Imcompatibles types _ ´TdateTime and Tcaption" Si yo cojo el valor de fecha de un tedit. |
#4
|
|||
|
|||
Yo veo el problema aqui :
' where expedientes.fnotif >= "' + fecha1.Text + '"' + Esto funciona, no da error, pero claro esta busco en un campo texto con otro campo texto por lo que las fechas no las recupera bien. Mi problema es que expedientes.fnotif es varchar cuando deberia ser fecha ... ¿como puedo decirle via sql que ese campo es tipo fecha? ¿se puede hacer desde el dataset o similar?. Venga gracias. |
#5
|
|||
|
|||
No sabeis como podria solucionarlo ??
|
#6
|
|||
|
|||
no se si es esto lo que buscas....
cast(expedientes.fnotif as date) >= ' + QuotedStr(fecha1.Text) PD: si fecha1 es un componente de fechas y tiene la propiedad Date, mejor usar QuotedStr(FormatDateTime('mm/dd/yyyy', fecha1.Date)) |
#7
|
|||
|
|||
Yo comprobaría cómo quiere las fechas tu gestor de bases de datos. En el caso de interbase las quiere como 'mm/dd/yyyy', así que puedes usar algo así
var strfecha:string; ... strfecha:='''+formatdatetime('mm/dd/yyyy',dia)+'''; Última edición por gynch fecha: 25-03-2004 a las 11:40:35. |
|
|
|