Eu fiz um testa aqui e funcionou no seu exemplo certinho..Só um detalhe você deve formatar a coluna do seu banco de dados access "Coluna Data" formato Data..
Private Sub CommandButton1_Click()
Dim Conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sql As String
Dim i As Integer
Set Conn = New ADODB.Connection
With Conn
.Provider = "Microsoft.JET.OLEDB.4.0"
.ConnectionString = "Data Source=" & ThisWorkbook.Path & "Base.mdb"
.Open
End With
sql = "SELECT * FROM Fornecedores ORDER BY Data"
Set rs = New ADODB.Recordset
With rs
.ActiveConnection = Conn
.CursorLocation = adUseClient
.PageSize = 42
.Open sql, Conn, adOpenDynamic, _
adLockBatchOptimistic
End With
rs.Filter = "Data >=#" & Format(Me.dataInicial, "dd/mm/yyyy") & "# and Data<=#" & Format(Me.dataFinal, "dd/mm/yyyy") & "#"
If Not rs.RecordCount > 0 Then Exit Sub
rs.MoveFirst
i = 0
With Me.lstLista
.Clear
Do
.AddItem
.List(i, 0) = rs![Data]
.List(i, 1) = rs![NomeDoContato]
.List(i, 2) = rs![CargoDoContato]
.List(i, 3) = rs![Endereço]
.List(i, 4) = rs![Cidade]
'.List(I, 5) = Format(rs![PREÇOATUAL], "#,##0.00")
i = i + 1
rs.MoveNext
DoEvents
Loop Until rs.EOF
End With
Conn.Close
End Sub
Postado : 18/03/2015 8:49 pm