FIND,FILTER E INTERVALOS
Estou fazendo um programa que precisa de fazer uma pesquisa em um intervalo de duas datas. Sempre que vou fazer uma pesquisa em uma tabela eu faço utilizando o "Find" e o "Filter" e jogo os dados em um Datagrid. tentei utilizar o mesmo metodo na pesquisa do intervalo. fiz da seguinte forma:
Sendo que da o seguinte erro:
e o Debug marca a linha do "Filter".
Ja vi no VBmania um artigo falando sobre pesquisas utilizando o "And" no "Find" eu o utilizo em meus softwares mas não consegui inplemetalo no metodo "Filter". Não se tem logica mas tentei.
Enfim. Quem tiver alguma ideia pra me ajudar posta alguma coisa ae =D
vlw pela atenção ae!
flw
Dim per1 As Date
Dim per2 As Date
per1 = Format(txtdata1.Text, "dd/mm/yyyy")
per2 = Format(txtdata2.Text, "dd/mm/yyyy")
hist.Find "Data between #" & per1 & "# and #" & per2 & "# "
hist.Filter = "Data between between #" & per1 & "# and #" & per2 & "# "
preenchedatagrid
Sendo que da o seguinte erro:
Run-Time error '3001':
Os arqgumentos são incorretos, estão fora do intevalo aceitavel ou estão em conflito
e o Debug marca a linha do "Filter".
Ja vi no VBmania um artigo falando sobre pesquisas utilizando o "And" no "Find" eu o utilizo em meus softwares mas não consegui inplemetalo no metodo "Filter". Não se tem logica mas tentei.
Enfim. Quem tiver alguma ideia pra me ajudar posta alguma coisa ae =D
vlw pela atenção ae!
flw
Ignorem o "Between Between" na linha do Filter. Tentei fazer a pesquisa sem esse erro e deu a mesma coisa! =]
Se vc estiver usando DAO
Set T1=db.openRecordset("Select * From SuaTabela Where Data1 >=DateValue('" & Texto1 & "') and Data <=DateValue('" Data2 & "')")
Do While Not T1.EOF
preenche o grid
t1.MoveNext
Loop
T1.Close
Com ADO funciona do mesmo jeito
Set T1=db.openRecordset("Select * From SuaTabela Where Data1 >=DateValue('" & Texto1 & "') and Data <=DateValue('" Data2 & "')")
Do While Not T1.EOF
preenche o grid
t1.MoveNext
Loop
T1.Close
Com ADO funciona do mesmo jeito
Tente assim:
Adapte o código à  s suas necessidades, e qualquer dúvida volte a postar...
Dim per1 As Date
Dim per2 As Date
per1 = Format(txtdata1.Text, "dd/mm/yyyy")
per2 = Format(txtdata2.Text, "dd/mm/yyyy")
If hist.State = 1 Then hist.Close
hist.Open "SELECT CAMPO1, CAMPO2, ... FROM TABELA WHERE " & _
"DATA BETWEEN #" & per! & "# AND #" & per@ & "# ", cn
preenchedatagrid
Adapte o código à  s suas necessidades, e qualquer dúvida volte a postar...
Este codigo funciona perfeitamente... eu ate o utilizava... mas o problema é que se o usuario tiver acabado de alterar algum dado diretamente no DataGrid e em seguida ele for fazer a pesquisa utilizando o hist.Close e hist.Open ai ele da o seguinter erro:
Existe alguma propriedade de uma tabela pra que se ela tiver acabado de ser alterada nao poder fazer a pesquisa... ou então alguma outra solução.
Valeu ae pela atenção
flw! =D
Run-Time erro '3219':
Operação não permitida nesse contexto.
Existe alguma propriedade de uma tabela pra que se ela tiver acabado de ser alterada nao poder fazer a pesquisa... ou então alguma outra solução.
Valeu ae pela atenção
flw! =D
Tópico encerrado , respostas não são mais permitidas