LEITURA DE ARQUIVO TXT COMPLEXA
                    Sim, mas esse é fácil de pegar porque sempre esse valor vai estar nesse lugar, nunca vai mudar!
                
            
                    Amigo trabalho diretamento com Exportações/Importações, Exporta em  CSV com Delimitador no caso a virgula..
POste o arquivo ai que posso ajudar... abraços
            POste o arquivo ai que posso ajudar... abraços
                    Amigos depois de muito tentar, tentar, programar, programar, pensar, pensar, lutar, lutar e quase desisti!
Consegui fazer da seguinte forma, irei postar para estudo e para até ajudar a melhor o código e talvez posteriormente terei que fazer outro código para ler com delimitadores:
[txt-size=5]
            Consegui fazer da seguinte forma, irei postar para estudo e para até ajudar a melhor o código e talvez posteriormente terei que fazer outro código para ler com delimitadores:
[txt-size=5]
Private Sub updateAnalisys()
    Dim strLinha As String
    Dim lineCurrent As Integer
    Dim strSampleName As String
    Dim strSQL As String
    Dim intContador As Integer
    Dim elements() As Variant
    Dim colunasElementos() As Variant
    F = FreeFile
    lineCurrent = 0
    abreConexaoBanco
    Open [Ô]G:\VM\D\Teclink\RaioX1.txt[Ô] For Input As F    [ô] Abre o arquivo a ser importado
    Do While Not EOF(F)
        Line Input #F, strLinha
        lineCurrent = lineCurrent + 1    [ô]Saber em qual linha está o LOOP
        If lineCurrent = 8 Then    [ô]Verifica se chegou para linha 8 para verificar qual a posição de cada elemento
            elements = Array([Ô]Zn[Ô], [Ô]Fe[Ô], [Ô]Al2o3[Ô], [Ô]CaO[Ô], [Ô]MgO[Ô], [Ô]SiO2[Ô], [Ô]Pb[Ô], [Ô]S [Ô], [Ô]Au[Ô], [Ô]Ag[Ô])    [ô]Elementos que deverão ser buscado no arquivo
            ReDim colunasElementos(UBound(elements))    [ô]Redimenciona o array que guarda as posições de cada elemento para o quantidade de elementos que está pesquisando
            For intContador = 0 To UBound(elements)    [ô]Começa o FOR para localizar e guardar dentro do array qual a posição de cada elemento dentro do arquivo
                Dim varColuna As Integer
                varColuna = InStr(1, strLinha, elements(intContador), vbTextCompare)    [ô]Armazena na variável a localização do elemento atual
                If varColuna <> 0 Then    [ô]Verifica se elemento foi encontrado, caso não seja ele joga vazio para o elemento não encontrado
                    colunasElementos(intContador) = varColuna
                Else
                    colunasElementos(intContador) = Empty
                End If
            Next
        End If
        If lineCurrent >= 12 Then    [ô] Verifica se a linha atual é a linha 12, pois é a partir dela que contém os resultados quÃmicos
            strSampleName = Trim(Mid(strLinha, 5, 18))    [ô]Pega o nome da amostra
            Set rs = Con.Execute([Ô]SELECT SampleName FROM Results WHERE SampleName = [ô][Ô] & strSampleName & [Ô][ô][Ô])    [ô]Faz uma consulta no banco de dados para verificar se a amostra existe
            If rs.EOF = False Then    [ô]Caso a amostra exista começa o processo de criação da instrução SQL para atualizar os resultados quÃmicos
                strSQL = [Ô]UPDATE Results SET [Ô]
                For intContador = 0 To UBound(colunasElementos)
                    If colunasElementos(intContador) <> Empty Then    [ô]Verifica dentro do array que armazena as posições do elementos se não existe algum elemento que não foi encontrado
                        Dim resultadoAnalise
                        resultadoAnalise = Trim(Mid(strLinha, colunasElementos(intContador), 5))  [ô]Armazena na variável o resultado quÃmico do elemento atual
                        If resultadoAnalise = Empty Then    [ô]Caso o resultado quÃmico esteja limpo/vazio, colocamos como o resultadoAnalise como NULO
                            resultadoAnalise = [Ô]Null[Ô]
                        End If
                        strSQL = strSQL & Trim(elements(intContador)) & [Ô]=[Ô] & resultadoAnalise & [Ô],[Ô]    [ô]Amazena na instruação SQL os elementos e resultados encontrados no arquivo
                    End If
                Next
                strSQL = Left(strSQL, Len(strSQL) - 1) & [Ô] WHERE SampleName = [ô][Ô] & strSampleName & [Ô][ô][Ô]    [ô]Termino da construção SQL
                Con.Execute strSQL    [ô]Atualiza os resultados das amostras no banco de dados
            End If
        End If
    Loop
    Close #F
    
End Sub
[/txt-size]
                
                    vc vai fazer um programa pra ler sempre o mesmo arquivo??
Open [Ô]G:\VM\D\Teclink\RaioX1.txt[Ô] For Input As F [ô] Abre o arquivo a ser importado
pq vc nao usou o codigo que te passei onde vc tem um campo e usando o componente driverlistbox vc acharia seu txt... na verdade qualquer txt...
If Len(Me.txtNomeArq & vbNullString) = 0 Then [ô] Testa se txtNomeArq contém alguma coisa
MsgBox [Ô]Informe o nome do arquivo a ser importado[Ô], vbExclamation + vbOKOnly, [Ô]Vazio[Ô]
Me.txtNomeArq.SetFocus
Exit Sub
End If
If Len(Dir(Me.txtNomeArq)) = 0 Then [ô] Testa a existência do arquivo
MsgBox [Ô]O arquivo não existe!!![Ô], vbCritical + vbOKOnly, [Ô]Erro[Ô]
Me.txtNomeArq.SetFocus
Exit Sub
End If
claro que com um bom tratamento logo seria o ideal.
            Open [Ô]G:\VM\D\Teclink\RaioX1.txt[Ô] For Input As F [ô] Abre o arquivo a ser importado
pq vc nao usou o codigo que te passei onde vc tem um campo e usando o componente driverlistbox vc acharia seu txt... na verdade qualquer txt...
If Len(Me.txtNomeArq & vbNullString) = 0 Then [ô] Testa se txtNomeArq contém alguma coisa
MsgBox [Ô]Informe o nome do arquivo a ser importado[Ô], vbExclamation + vbOKOnly, [Ô]Vazio[Ô]
Me.txtNomeArq.SetFocus
Exit Sub
End If
If Len(Dir(Me.txtNomeArq)) = 0 Then [ô] Testa a existência do arquivo
MsgBox [Ô]O arquivo não existe!!![Ô], vbCritical + vbOKOnly, [Ô]Erro[Ô]
Me.txtNomeArq.SetFocus
Exit Sub
End If
claro que com um bom tratamento logo seria o ideal.
                    DAVERSON o diretório e o arquivo é fixo, pra você entender ele é gerado por equipamento de analise quÃmica, meu sistema irá verificar se esse arquivo existe a cada 10 minutos para poder lançar esses informações no banco de dados.
Apesar que todo a idéia foi tirada do seu código, não posso utilizar porque as posições dos meus campos não são fixas, e os elementos mudam a cada análise, tenho que parametrizar mais o sistema, então preciso achar a posição de cada elemento para depois pegar o valor correspondente de cada elemento, se fosse fixo poderia usar sem problema
            Apesar que todo a idéia foi tirada do seu código, não posso utilizar porque as posições dos meus campos não são fixas, e os elementos mudam a cada análise, tenho que parametrizar mais o sistema, então preciso achar a posição de cada elemento para depois pegar o valor correspondente de cada elemento, se fosse fixo poderia usar sem problema
                    é tratado em outro procedimento a existência desse arquivo!
                
            
                    entao morreu o assunto... so falta fechar o topico.
Abraço
            Abraço
                        Tópico encerrado , respostas não são mais permitidas