PESQUISA COMPLICADA
pessoal, bom dia!!!
Ontem postei aqui uma mensagem querendo realizar uma pesquisa multipla.
Com a rotina abaixo consegui resolver.
Porém quando quero pesquisar acima de 01 código (ex.:1020, 1030...)
preciso inserir dentro do txtunidade o seguinte critério (1020','1030...)
ou seja, gostaria de uma rotina que ao digitar o codigo apos os digitos automaticamente ser inserido o critério ',
alguém pode me ajudar???
Dim DataInicial As String
Dim DataFinal As String
DataInicial = Format(DTDataInicial, "mm/dd/yyyy")
DataFinal = Format(DTDataFinal, "mm/dd/yyyy")
Data1.RecordSource = "Select * From TblCadastroInss where Unidade in ('" & txtUnidade.Text & "') and DataCarimbo BetWeen #" & Format(DTDataInicial, "mm/dd/yyyy") & "# And #" & Format(DTDataFinal, "mm/dd/yyyy") & "# order by unidade"
Data1.Refresh
Marcelino Neto
vb6.0
access2000
DAO
Ontem postei aqui uma mensagem querendo realizar uma pesquisa multipla.
Com a rotina abaixo consegui resolver.
Porém quando quero pesquisar acima de 01 código (ex.:1020, 1030...)
preciso inserir dentro do txtunidade o seguinte critério (1020','1030...)
ou seja, gostaria de uma rotina que ao digitar o codigo apos os digitos automaticamente ser inserido o critério ',
alguém pode me ajudar???
Dim DataInicial As String
Dim DataFinal As String
DataInicial = Format(DTDataInicial, "mm/dd/yyyy")
DataFinal = Format(DTDataFinal, "mm/dd/yyyy")
Data1.RecordSource = "Select * From TblCadastroInss where Unidade in ('" & txtUnidade.Text & "') and DataCarimbo BetWeen #" & Format(DTDataInicial, "mm/dd/yyyy") & "# And #" & Format(DTDataFinal, "mm/dd/yyyy") & "# order by unidade"
Data1.Refresh
Marcelino Neto
vb6.0
access2000
DAO
Faz assim:
Lembrando que no txtUNidade tem q digitar 1 codido depois "," outro codigo e assim vai....assim ele reconhecera como numeros e nao como texto
Dim DataInicial As String
Dim DataFinal As String
DataInicial = Format(DTDataInicial, "mm/dd/yyyy")
DataFinal = Format(DTDataFinal, "mm/dd/yyyy")
Data1.RecordSource = "Select * From TblCadastroInss where Unidade in (" & txtUnidade.Text & ") and DataCarimbo BetWeen #" & Format(DTDataInicial, "mm/dd/yyyy") & "# And #" & Format(DTDataFinal, "mm/dd/yyyy") & "# order by unidade"
Data1.Refresh
Lembrando que no txtUNidade tem q digitar 1 codido depois "," outro codigo e assim vai....assim ele reconhecera como numeros e nao como texto
Dim DataInicial As String
Dim DataFinal As String
DataInicial = Format(DTDataInicial, "mm/dd/yyyy")
DataFinal = Format(DTDataFinal, "mm/dd/yyyy")
Data1.RecordSource = "Select * From TblCadastroInss where Unidade in (" & txtUnidade.Text & ") and DataCarimbo BetWeen #" & Format(DTDataInicial, "mm/dd/yyyy") & "# And #" & Format(DTDataFinal, "mm/dd/yyyy") & "# order by unidade"
Data1.Refresh
Amigo...
todos os códigos possuem 4 digitos??
se sim, blz... é tranquilo de fazer, se não, realmente teria que ser digitado algo para separar os códigos, nem que seja somente um espaço em branco e depois agente trate as informações.
Passe um pouquinho mais de detalhes que a galera te ajuda aÃÂÂ...
todos os códigos possuem 4 digitos??
se sim, blz... é tranquilo de fazer, se não, realmente teria que ser digitado algo para separar os códigos, nem que seja somente um espaço em branco e depois agente trate as informações.
Passe um pouquinho mais de detalhes que a galera te ajuda aÃÂÂ...
Amigo se o campo Unidade é numérico, você não precisa acrescentar as aspas não. Então já ficará como digitado no text então seu código já está certo. As váriáveis não estão sendo usadas então só é necessário esse pedaço:
o operador IN aceita uma lista separada por vÃÂÂrgula.
Data1.RecordSource = "Select * From TblCadastroInss where Unidade in (" & txtUnidade.Text & ") and DataCarimbo Between #" & DTDataInicial & "# And #" & DTDataFinal & "# order by unidade"
Data1.Refresh
o operador IN aceita uma lista separada por vÃÂÂrgula.
Pessoal, vcs ñ entenderam, preciso de uma rotina simples que funcione assim:
no txtUnidade digito a unidade:
1010 - ok
se digitar dois códigos:
1010','1020 - então o critério ',' entraria em cena
se digitar mais código:
1010','1020','1030 - ficaria assim.
ou seja para cada código digitado automaticamente entraria o separador ','
Pois estou digitando manualmente!!!
No caso das respostas acima continuo digitando o critério ','
Podem me ajudar???
Marcelino Neto
no txtUnidade digito a unidade:
1010 - ok
se digitar dois códigos:
1010','1020 - então o critério ',' entraria em cena
se digitar mais código:
1010','1020','1030 - ficaria assim.
ou seja para cada código digitado automaticamente entraria o separador ','
Pois estou digitando manualmente!!!
No caso das respostas acima continuo digitando o critério ','
Podem me ajudar???
Marcelino Neto

Sugestao:
Coloque um txtUnidade2 que sirva para fazer um 'meio campo' na sua rotina. Explico. um txtUnidade1 que sirva para digitar ( pode ser este que voce ja tem mesmo ), e um outro, txtUnidade2, invisivel que sirva para a sua rotina posterior trabalhar.
Assim, voce digita 10101020 no txtUnidade1 e no txtUnidade2 aparece 1010','1020.
Basta que voce coloque um codigo no evento change do txtUnidade1 que va alterando o txtUnidade2. Ja fiz algo parecido, funcionou que foi uma beleza.
Testa ai amigo...
T+
T+
MFERREIRANETO,
No exemplo que eu te mandei acima eu mudei o select do campo então na caixa de texto vc só precisa colocar:
1010, 1011, 1012
O campo de virgula já irá realizar a pesquisa dividindo os valores.
Vc testou o codigo?
No exemplo que eu te mandei acima eu mudei o select do campo então na caixa de texto vc só precisa colocar:
1010, 1011, 1012
O campo de virgula já irá realizar a pesquisa dividindo os valores.
Vc testou o codigo?
Clica TAB para sair da caixa d texto depois q digitar o valor....e depois volta para caixa
T+
T+
Caro amigo Orlnado nascimento na sua rotina dá error #3464 Tipo de dados incompativel na expressao de criterio
Presado silverdragon, seu exemplo ñ deu!!!
Marcelino Neto
Presado silverdragon, seu exemplo ñ deu!!!
Marcelino Neto
Só uma correção, no meu BD o Campo Unidade esta como Texto.
Motivo: Tem unidade que é 0030 0221 0101 - ou seja muita unidade começa com 0 e se for numero estes zero a esquerda sai de cena!!!
Marcelino Neto
Motivo: Tem unidade que é 0030 0221 0101 - ou seja muita unidade começa com 0 e se for numero estes zero a esquerda sai de cena!!!
Marcelino Neto
Tópico encerrado , respostas não são mais permitidas