Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   consulta con Access y ADO (https://www.clubdelphi.com/foros/showthread.php?t=4675)

JODELSA 23-10-2003 16:53:34

consulta con Access y ADO
 
Hola a todos.

Necesito pasarle una sentencia SQL en tiempo de ejecucion a una tabla de ACCESS con ADO EJemplo:

DmInv.qryFactura.Sql.Clear;
DmInv.qryfactura.SQL.ADD('SELECT * FROM factura WHERE fechaFact Between "'+Fechai.text+'" And "'+Fechaf.text+'"');
DmInv.qryFactura.open;

siendo fechaI.text y fechaF.text componentes maskedit

Esto funciona perfectamente con tablas paradox pero no con ACCESS

Un amigo del FORO me dijo que encerrara fechaI.text y fechaF.text en 3 comillas simples y me funciona solo cuando lo aplico a campos string de lo contrario me da un error de tipos de datos.

ayudenme por favor..

Viet 23-10-2003 17:02:01

Si mal no recuerdo las fechas en Access van entre # ... ej #01/02/2003#

Suerte ;)

JODELSA 23-10-2003 17:45:33

encerrado en signo de # no me funciona, hay que tomar en cuenta que es una consulta en tiempo de ejecucion.

Viet 23-10-2003 18:12:08

he probado y funciona bien con #

trata con
Código:

DmInv.qryFactura.Sql.Clear;
DmInv.qryfactura.SQL.ADD('SELECT * FROM factura WHERE fechaFact Between #'+Fechai.text+'# And #'+Fechaf.text+'#');
DmInv.qryFactura.open;

Sino funciona asi, debes tener un problema con el formato que esta en Fechai o en Fechaf.

En el codigo original de tu hilo tienes un error porque luego de Fechaf hay dos comillas dobles seguidas, tal ves era eso.

Cualquier cosa me avisas ;)

SLAKE 24-10-2003 09:28:15

Otra opción podría ser

' Select * from tabla ' +
' where campoFecha = DateValue(' + QuotedStr(sfecha) + ')'

viajero2015 24-10-2003 17:24:19

Mira yo trabajo con ADo y hago las consulta en tiempo de jecui de esta forma de ejecucion asi.

myquery.sql[2]:='where fechahacturacion='+ fecha1.text+''' and fechafactura='+ fecha1.text+'''';

ya que por diseno le asigno a sql toda la consulta pero aqui estoy diciendo que la linea de esa consulta la sustituya por esa condicion y asi me trabaja ok.

espero que te sirva de algo.
TOMAS


La franja horaria es GMT +2. Ahora son las 12:41:37.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi