FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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.. |
#2
|
|||
|
|||
Si mal no recuerdo las fechas en Access van entre # ... ej #01/02/2003#
Suerte
__________________
Marín Ignacio Borthiry (Viet) - "El hombre arriesga su vida cada vez que elije y eso es lo que lo hace libre" ;) |
#3
|
|||
|
|||
encerrado en signo de # no me funciona, hay que tomar en cuenta que es una consulta en tiempo de ejecucion.
|
#4
|
|||
|
|||
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; 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
__________________
Marín Ignacio Borthiry (Viet) - "El hombre arriesga su vida cada vez que elije y eso es lo que lo hace libre" ;) |
#5
|
|||
|
|||
Otra opción podría ser
' Select * from tabla ' + ' where campoFecha = DateValue(' + QuotedStr(sfecha) + ')'
__________________
No siempre lo más urgente es lo más importante. |
#6
|
|||
|
|||
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 |
|
|
|