CONSULTA POR DATA NO ACCESS

FLANJA 26/05/2010 21:38:05
#342887
Ola, estou quebrando a cabeça aqui co uma consulta no meu banco:
Eu coloco as datas nos text1 e text2, a intenção e que ao digitar as datas
nos text[ô]s, me fosse retornado os registros entre as datar correspondente
mas so me retorna a primeira data inserida.

Private Sub Command3_Click()
Form2.Data1.RecordSource = [Ô]select * from Apagar where data_lançamento = #[Ô] & (Text2.Text) & [Ô]# and #[Ô] & (Text3.Text) & [Ô]#[Ô]
Form2.Data1.Refresh
If Form2.Data1.Recordset.EOF = True Then
Form2.Data1.RecordSource = [Ô]SELECT * FROM Apagar[Ô]
Form2.Data1.Refresh
MsgBox ([Ô]Nenhum registro foi encontrado[Ô]), vbCritical, [Ô]Registro não encontrado[Ô]
Text1.Text = [Ô][Ô]
End If
End Sub

Socorroooooooo............
JWCELYO 26/05/2010 21:49:16
#342890
tente assim

Private Sub Command3_Click()
dtIni = [Ô]#[Ô] & Format(Text2, [Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]
dtFim = [Ô]#[Ô] & Format(Text3, [Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]
Form2.Data1.RecordSource = [Ô]SELECT * FROM Apagar WHERE data_lançamento NOT BETWEEN [Ô] & dtIni & [Ô] AND [Ô] & dtFim &[Ô][Ô]
Form2.Data1.Refresh
If Form2.Data1.Recordset.EOF = True Then
Form2.Data1.RecordSource = [Ô]SELECT * FROM Apagar[Ô]
Form2.Data1.Refresh
MsgBox ([Ô]Nenhum registro foi encontrado[Ô]), vbCritical, [Ô]Registro não encontrado[Ô]
Text1.Text = [Ô][Ô]
End If
End Sub
FLANJA 26/05/2010 22:12:50
#342891
Po cara valeu mas do jeito q vc fez so me retorna as datas fora do criterio de pesquisa:
Private Sub Command3_Click()
dtIni = [Ô]#[Ô] & Format(Text2, [Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]
dtFim = [Ô]#[Ô] & Format(Text3, [Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]
Form2.Data1.RecordSource = [Ô]SELECT * FROM Apagar WHERE data_lançamento NOT BETWEEN [Ô] & dtIni & [Ô] AND [Ô] & dtFim &[Ô][Ô]
Form2.Data1.Refresh
If Form2.Data1.Recordset.EOF = True Then
Form2.Data1.RecordSource = [Ô]SELECT * FROM Apagar[Ô]
Form2.Data1.Refresh
MsgBox ([Ô]Nenhum registro foi encontrado[Ô]), vbCritical, [Ô]Registro não encontrado[Ô]
Text1.Text = [Ô][Ô]
End If
End Sub

E quando eu retiro o not (NOT BETWEEN) o programa me retorna exatamente apenas as datas do criterio de pesquisa:

Private Sub Command3_Click()
dtIni = [Ô]#[Ô] & Format(Text2, [Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]
dtFim = [Ô]#[Ô] & Format(Text3, [Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]
Form2.Data1.RecordSource = [Ô]select * from Apagar where data_vencimento between #[Ô] & (Text2.Text) & [Ô]# and #[Ô] & (Text3.Text) & [Ô]#[Ô]
Form2.Data1.Refresh
If Form2.Data1.Recordset.EOF = True Then
Form2.Data1.RecordSource = [Ô]SELECT * FROM Apagar[Ô]
Form2.Data1.Refresh
MsgBox ([Ô]Nenhum registro foi encontrado[Ô]), vbCritical, [Ô]Registro não encontrado[Ô]
Text1.Text = [Ô][Ô]
End If
End Sub

JWCELYO 26/05/2010 22:17:51
#342892
então eu não entendi o que você esta querendo fazer
você que retorna apenas as duas datas é isto?
FLANJA 26/05/2010 22:22:47
#342893
Não, eu quero que seja retornado os registros entre as datas selecionadas:
Exemplo:(1/5/2010) ate (25/5/2010)
me retornando todos os registro desde a data (1/5/2010) ate (25/5/2010),
espero ter ajudado na compreenção do projeto...
TECLA 26/05/2010 22:48:22
#342894
Private Sub Command3_Click()
Form2.Data1.RecordSource = [Ô]select * from Apagar where data_lançamento BETWEEN #[Ô] & (Format(Text2.Text, [Ô]mm/dd/yyyy[Ô])) & [Ô]# and #[Ô] & (Format(Text3.Text, [Ô]mm/dd/yyyy[Ô])) & [Ô]#[Ô]
Form2.Data1.Refresh
If Form2.Data1.Recordset.EOF = True Then
Form2.Data1.RecordSource = [Ô]SELECT * FROM Apagar[Ô]
Form2.Data1.Refresh
MsgBox ([Ô]Nenhum registro foi encontrado[Ô]), vbCritical, [Ô]Registro não encontrado[Ô]
Text1.Text = [Ô][Ô]
End If
End Sub
JWCELYO 26/05/2010 23:24:41
#342899
Citação:

:

Private Sub Command3_Click()
Form2.Data1.RecordSource = [Ô]select * from Apagar where data_lançamento BETWEEN #[Ô] & (Format(Text2.Text, [Ô]mm/dd/yyyy[Ô])) & [Ô]# and #[Ô] & (Format(Text3.Text, [Ô]mm/dd/yyyy[Ô])) & [Ô]#[Ô]
Form2.Data1.Refresh
If Form2.Data1.Recordset.EOF = True Then
Form2.Data1.RecordSource = [Ô]SELECT * FROM Apagar[Ô]
Form2.Data1.Refresh
MsgBox ([Ô]Nenhum registro foi encontrado[Ô]), vbCritical, [Ô]Registro não encontrado[Ô]
Text1.Text = [Ô][Ô]
End If
End Sub



foi isto que passei tecla mas ele falou que não retorno os dados por período escolhido
TECLA 26/05/2010 23:32:25
#342903
Citação:

:
tente assim

Private Sub Command3_Click()
dtIni = [Ô]#[Ô] & Format(Text2, [Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]
dtFim = [Ô]#[Ô] & Format(Text3, [Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]
Form2.Data1.RecordSource = [Ô]SELECT * FROM Apagar WHERE data_lançamento NOT BETWEEN [Ô] & dtIni & [Ô] AND [Ô] & dtFim &[Ô][Ô]
Form2.Data1.Refresh
If Form2.Data1.Recordset.EOF = True Then
Form2.Data1.RecordSource = [Ô]SELECT * FROM Apagar[Ô]
Form2.Data1.Refresh
MsgBox ([Ô]Nenhum registro foi encontrado[Ô]), vbCritical, [Ô]Registro não encontrado[Ô]
Text1.Text = [Ô][Ô]
End If
End Sub



Sua QUERY tem o operador NOT, por isso não funcionou corretamente.
Veja na citação.
JWCELYO 26/05/2010 23:38:52
#342904
mas ele falou
Citação:

E quando eu retiro o not (NOT BETWEEN) o programa me retorna exatamente apenas as datas do criterio de pesquisa:

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