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 

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

1 respuesta más de otro experto

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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas