FAZER CONSULTA EM UM ARQUIVO TEXTO

MARCELO.TREZE 21/10/2009 18:54:46
#325996
Tá ai

Private Sub Text1_Change()
Dim F As Integer
Dim mLinha As String
Dim Loc() As String
F = FreeFile
If Len(Text1.Text) > = 5 Then
Open [Ô]c:\bd.txt[Ô] For Input As #F
List1.Clear [ô] <<<-----
Do While Not EOF(F)
Line Input #F, mLinha
If InStr(1, UCase(mLinha), UCase( Text1.Text) ) > 0 Then
Loc = Split(mLinha,vbTab)
List1.Visible = True
List1.AddItem mLinha
End If
Loop
Close #F
End If
End Sub
GRAEFF 21/10/2009 18:55:54
#325997
Alguem sabe como fazer pra ele começar a buscar somente a partir do quinto caractere digitado?? ta dando bug aki em tempo real. preciso filtrar pelo menos 5 letras.
MARCELO.TREZE 21/10/2009 18:57:31
#325998
já viu o meu código acima
GRAEFF 21/10/2009 19:53:59
#326009
tem algum script que eu faça uma varredura no meu txt e se tiver linha igual duplicada ele apagar deixando somente 1? pq isso ta deixando a busca lenta.
RCMRO 22/10/2009 13:21:11
#326062
Para não complicar pois você está um pouco atrapalhado, faz o seguinte:

1. Cria um FORM com um LISTBOX com a propriedade SORTED em TRUE
2. Chama as rotinas abaixo passando o nome do arquivo que você quer que ele leia e, depois, o nome do arquivo que você quer gravar sem as duplicidades. O nome pode ser o mesmo pois no momento de gravar ele apaga o anterior...

Private Sub LeOriginal(mFile As String)
Dim mStr As String
Dim F As Integer

F = FreeFile
Open mFile For Input As #F
Do While Not EOF(F)
Line Input #F, mStr
List1.AddItem mStr
Loop
Close #F
End Sub

Private Sub GravaDestino(mFile As String)
Dim mStrAtu As String
Dim mStrAnt As String
Dim F As Integer
Dim G As Integer

mStrAnt = [Ô][Ô]
F = FreeFile
Open mFile For Output As #F

For G = 0 To List1.ListCount - 1
mStrAtu = List1.List(G)
If mStrAtu <> mStrAnt Then
mStrAnt = mStrAtu
Print #F, mStrAtu
End If
Next
Close #F
End Sub

GRAEFF 22/10/2009 21:26:47
#326121
ta dando erro aki, ta dando ambiguidade tipo eu coloquei esse ultimo codigo ae em um projeto novo!!Onde tenho que colar no form? precisa ter algum botao pra executar o comando?
RCMRO 22/10/2009 22:18:11
#326123
A ambiguidade já está tratada, pode copiar o código de novo.

para executar as rotinas, faz como quizer, com botoes, direto no FORLE.LOAD, envim, desde que seja primeiro executado o LEORIGINAL e a SEGUIR o GRAVADESTINO tá tudo certo. Lembra que o nome do arquivo destino que voce passar é que vai estar ORDENADO e sem DUPLICIDADES. Pode ser o mesmo arquivo. Se isso acontecer, no primeiro e lê e no segundo ele apaga e cria novamente já filtrado.
RCMRO 23/10/2009 07:19:41
#326130
Conforme conversamos, vai em anexo a cópia das telas do access para gerar a tabela ....
GRAEFF 23/10/2009 08:50:32
#326136
apareceu esse erro!!! nao sei como fazer pra funcionar!!
se puder me ajudar!!
MARCELO.TREZE 23/10/2009 10:56:32
#326148
Colega parece que a resposta já não é mais pertinente ao tópico, por favor encerre o mesmo e abra um novo com a nova duvida
Página 3 de 3 [30 registro(s)]
Tópico encerrado , respostas não são mais permitidas