Error en consulta sql (No puedo filtrar por fechas)

Tengo una macro en excel el cual pretende traer los datos desde una tabla de access y que esos datos tengan como criterio una fecha inicial y una fecha final y en base a esos criterios me filtre la información pero me da error la use así pero nada:

Dim Conexion, Record_set As Object

Dim ColsultaSQL, CampoBuscado, Criteriobusqueda As String

Dim FilaBuscada As Long

Set Conexion = CreateObject("ADODB.Connection")
With Conexion
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "DATA SOURCE =C:\Users\Familia Martinez\Documents\Bd_Clientes.accdb"
.Open
End With

'pagos es el nombre de la tabla y Fecha de pago es el nombre del campo
ColsultaSQL = "select *from Pagos where Fecha de pago BETWEEN '25/10/2016' AND '22/12/2016'"

Set Record_set = Conexion.Execute(ColsultaSQL)

FilaBuscada = 8

Do While Not Record_set.EOF

With Hoja4

.Cells(FilaBuscada, 2) = Record_set.Fields("factura")
.Cells(FilaBuscada, 3) = Record_set.Fields("fecha de entrada")
.Cells(FilaBuscada, 4) = Record_set.Fields("Fecha de pago")
.Cells(FilaBuscada, 5) = Record_set.Fields("rif")
.Cells(FilaBuscada, 6) = Record_set.Fields("cliente")
.Cells(FilaBuscada, 7) = Record_set.Fields("Monto del credito")
.Cells(FilaBuscada, 8) = Record_set.Fields("Abono")
.Cells(FilaBuscada, 9) = Record_set.Fields("Descripcion")
.Cells(FilaBuscada, 10) = Record_set.Fields("Forma de pago")
.Cells(FilaBuscada, 11) = Record_set.Fields("Documento Nº")
.Cells(FilaBuscada, 12) = Record_set.Fields("Banco")

FilaBuscada = FilaBuscada + 1
Record_set.MoveNext
End With

Loop

MsgBox "Los datos fueron filtrados exitosamente", vbInformation, "Búsqueda completa"

Call EnumerarFilas

Record_set.Close 'cierra el record set
Conexion.Close 'cierra la conexxion
Set Record_set = Nothing
Set Conexion = Nothing 'vacia el record set y la conexion

End Sub

tambien intente de esta forma pero aun sin tener resultados deseables:

CampoBuscado =Me. ComboBox1
fechainicio = "'" & Me.TextBox1 & "'"
fechafinal = "'" & Me.TextBox2 & "'"
ColsultaSQL = "select *from Pagos where " & CampoBuscado & BETWEEN & fechainicio And fechafinal

Agradecería mucho su ayuda ya que tengo 2 días intentando por cuenta propia pero no doy en el clavo(dejo el archivo access por si es necesario)

http://www.4shared.com/file/ZNryGJE_ce/Bd_Clientes.html 

2 respuestas

Respuesta
2

Nick:

Dim FiltroFechas As String
FiltroFechas = "[Fecha_Pagp] BETWEEN #" & Format(Nz(Me.TextBox1, #1/1/1900#), "mm/dd/yyyy") & _
                    "# AND #" & Format(Nz(Me.TextBox2, #12/31/9999#), "mm/dd/yyyy") & "#"

ConsultaSQL = "SELECT * FROM Pagos WHERE " & FiltroFechas

Ya me contarás si te ha resuelto el problema. Feliz Año >> Jacinto

Un saludo Jacinto gracias por responder a la brevedad hice lo que sugeriste pero me sale vacío en la consulta SQL que puede estar mal aquí

Nick: Yo he llamado a la Consulta >> ConsultaSQL, pero al parecer tu la llamas "ColsultaSQL".

Usa el Nombre que quieras, pero que sea el mismo en todo el Código.

Ya me contarás. Jacinto

Respuesta
1

La consulta SQl sin variable la realice de esta forma y me funciona:

ColsultaSQL = "select * from pagos where fecha_pago between #10/28/2016# and #12/22/2016# "

Pero no logro hacerlo con variables y es lo que más me importa ya que estoy trabajando con textboxs donde irán las fechas y en un combobox ira el campo fecha por favor ayudenme a filtrar las fechas con variables

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas