PESQUISA COM DATA

SANROMAN 12/03/2015 16:42:41
#445181
Boa tarde

Tenho um datagridview aonde faço uma pesquisa entre datas do mesmo campo, segue código:

Code> TBContasPagarBidingSource;Filter = [Ô]DataVencimento >=[Ô] + [Ô][ô][Ô] + dtpDataInicio.Value + [Ô][Ô][Ô] + [Ô]AND DataVencimento =[Ô] + [Ô][ô][Ô] + dtpDataFinal.value + [Ô][ô][Ô] + [Ô]AND Pago = [ô]Não[ô][Ô]</Code>

O código funciona bem, mas apresenta um problema:

Ao pesquisar data inicio 12/03/2015 e data de final 12/03/2015 o resultado é nulo mesmo havendo registros na data.
Para visualizar os registros do dia 12 tenho que iniciar a pesquisa no dia 11. e finalizar no dia 12; Por que?
Ao entrar com datas como 01/01/2015 para o inicio e 10/03/2015 para o fim só apresenta os dados do dia 02/01/2015 em diante.
Ou seja, a data de inicio está sendo ignorada. Só não sei o motivo. Espero que possam me ajudar.

Grato

FFCOUTO 12/03/2015 18:50:49
#445183
Amigo, você está comparando a data final com igual ( = ), o correto seria menor ou igual ( <= )

TBContasPagarBidingSource.Filter = [Ô]DataVencimento >=[Ô] + [Ô][ô][Ô] + dtpDataInicio.Value + [Ô][Ô][Ô] + [Ô]AND DataVencimento <=[Ô] + [Ô][ô][Ô] + dtpDataFinal.value + [Ô][ô][Ô] + [Ô]AND Pago = [ô]Não[ô][Ô]
NICKOSOFT 13/03/2015 06:56:19
#445195
Resposta escolhida
Atente para garantir o mesmo formato em todas as datas, ja fui pego c essas datas ate dia 12 o mes estando no lugar do dia, aprendi depois a sempre forçar um formato
PEGUDO 13/03/2015 08:52:17
#445196
Talvez você deva optar por BETWEEN...
SANROMAN 13/03/2015 09:12:51
#445198
Bom dia

Já tentei usar BETWENN mas dá o seguinte erro: Falta Operador antes de BETWEEN

Se souberem como usar BETWEEN com BidingSource;Filter ficarei agradecido.

No código está <=; Errei aqui no fórum ao digitar
FABRICIOWEB 13/03/2015 09:13:33
#445199
Dim Data1 As Date
Dim Data2 As Date
Data1 = DTPicker1
Data2 = DTPicker2


connect

rs.Open [Ô]SELECT * From ContasPagar where (((Pago) Like [ô][Ô] & [Ô]NÃO[Ô] & [Ô][ô])) AND DataVencimento BetWeen #[Ô] & Format$(Data1, [Ô]mm/dd/yyyy[Ô]) & [Ô]# And #[Ô] & Format$(Data2, [Ô]mm/dd/yyyy[Ô]) & [Ô]# ;[Ô]

Set datagridview.DataSource = rs



FABRICIOWEB 13/03/2015 09:21:00
#445200
em modulo bas
cria a conecção




Public CON As ADODB.Connection
Public rs As ADODB.Recordset


Sub Connect()

Set CON = CreateObject([Ô]ADODB.Connection[Ô])
Set rs = CreateObject([Ô]ADODB.Recordset[Ô])
CON.Open [Ô]Provider = Microsoft.Jet.OLEDB.4.0;Data Source = [Ô]SEU CAMINHO DO BANCO[Ô]
rs.CursorLocation = adUseClient
End Sub

Sub Disconnect()
On Error GoTo TrataErro10
rs.Close
CON.Close
TrataErro10:
If Err.Number = 3265 Then
MsgBox [Ô]Erro de dados[Ô]
End If
Set rs = Nothing
Set CON = Nothing
End Sub


Tópico encerrado , respostas não são mais permitidas