IMPORTAR TXT PARA ACCESS
Amigos, consigui tirar os erros porem simples , esta sem erros
porem nao importa nada
no caso está assim
Final = [Ô][Ô]
Dim dbBanco As Database
Set dbBanco = OpenDatabase(App.Path & [Ô]\busca1.mdb[Ô])
Dim data As String
Dim codigo As String
Arquivo = App.Path & [Ô]\mensalidade.txt[Ô]
On Error Resume Next
ArqLivre = FreeFile
On Error Resume Next
Open Arquivo For Input As #ArqLivre
If Err.Number = 53 Then
On Error GoTo 0
MsgBox [Ô]ARQUIVO NÃO ENCONTRADO[Ô], , [Ô]AVISO[Ô]
Final = [Ô]fim[Ô]
Exit Sub
ElseIf Err.Number <> 0 Then
MsgBox [Ô]Erro: [Ô] & Err.Number
Exit Sub
End If
Line Input #ArqLivre, Registro
MsgBox [Ô]PROCESSANDO[Ô], , [Ô]AVISO[Ô]
While Not EOF(ArqLivre)
dbBanco.Execute [Ô]UPDATE buscar SET codigo=[ô][Ô] & Trim(Mid(Registro, InStr(1, Registro, [Ô] [Ô]), Len(Registro))) & [Ô][ô] WHERE codigo=[Ô] & Trim(Mid(Registro, 1, InStr(1, Registro, [Ô] [Ô])))
Line Input #ArqLivre, Registro
Wend
Close #ArqLivre
dbBanco.Close
O que quero é buscar pelo codigo e atualizar as datas com update
o formato esta esse obrigado
00001;20100630
00002;20100615
00003;20100622
00004;20100618
00005;20100621
00006;20100622
00007;20100610
porem nao importa nada
no caso está assim
Final = [Ô][Ô]
Dim dbBanco As Database
Set dbBanco = OpenDatabase(App.Path & [Ô]\busca1.mdb[Ô])
Dim data As String
Dim codigo As String
Arquivo = App.Path & [Ô]\mensalidade.txt[Ô]
On Error Resume Next
ArqLivre = FreeFile
On Error Resume Next
Open Arquivo For Input As #ArqLivre
If Err.Number = 53 Then
On Error GoTo 0
MsgBox [Ô]ARQUIVO NÃO ENCONTRADO[Ô], , [Ô]AVISO[Ô]
Final = [Ô]fim[Ô]
Exit Sub
ElseIf Err.Number <> 0 Then
MsgBox [Ô]Erro: [Ô] & Err.Number
Exit Sub
End If
Line Input #ArqLivre, Registro
MsgBox [Ô]PROCESSANDO[Ô], , [Ô]AVISO[Ô]
While Not EOF(ArqLivre)
dbBanco.Execute [Ô]UPDATE buscar SET codigo=[ô][Ô] & Trim(Mid(Registro, InStr(1, Registro, [Ô] [Ô]), Len(Registro))) & [Ô][ô] WHERE codigo=[Ô] & Trim(Mid(Registro, 1, InStr(1, Registro, [Ô] [Ô])))
Line Input #ArqLivre, Registro
Wend
Close #ArqLivre
dbBanco.Close
O que quero é buscar pelo codigo e atualizar as datas com update
o formato esta esse obrigado
00001;20100630
00002;20100615
00003;20100622
00004;20100618
00005;20100621
00006;20100622
00007;20100610
tente isto
tenta isto
Final = [Ô][Ô]
Dim dbBanco As Database
Dim Coluna() As String
Set dbBanco = OpenDatabase(App.Path & [Ô]\busca1.mdb[Ô])
Dim data As String
Dim codigo As String
Arquivo = App.Path & [Ô]\mensalidade.txt[Ô]
On Error Resume Next
ArqLivre = FreeFile
On Error Resume Next
Open Arquivo For Input As #ArqLivre
If Err.Number = 53 Then
On Error GoTo 0
MsgBox [Ô]ARQUIVO NÃO ENCONTRADO[Ô], , [Ô]AVISO[Ô]
Final = [Ô]fim[Ô]
Exit Sub
ElseIf Err.Number <> 0 Then
MsgBox [Ô]Erro: [Ô] & Err.Number
Exit Sub
End If
Do While Not EOF(ArqLivre)
Line Input #ArqLivre, Registro
Coluna = Split(Registro, [Ô];[Ô])
dbBanco.Execute [Ô]UPDATE buscar SET data=[ô][Ô] & Coluna(1) & [Ô][ô] WHERE codigo=[Ô] & Coluna(0)
Loop
Close #ArqLivre
dbBanco.Close
tenta isto
Obrigado Treze
testei aqui e nao acontece nadinha na tabela acess porem nao da nenhum erro
andei vendo uma outra forma aqui ......
vo postar aqui ... ja testei como no modelo
e ja adaptei
so que la o erro é mais facil
o layout do VB que testei montei igual ,
[Ô]00001[Ô],[Ô]30/06/10[Ô],[Ô]
[Ô]00002[Ô],[Ô]15/06/10[Ô],[Ô]
[Ô]00003[Ô],[Ô]22/06/10[Ô],[Ô]
[Ô]00004[Ô],[Ô]18/06/10[Ô],[Ô]
[Ô]00005[Ô],[Ô]21/06/10[Ô],[Ô]
[Ô]00006[Ô],[Ô]22/06/10[Ô],[Ô]
[Ô]00007[Ô],[Ô]10/06/10[Ô],[Ô]
[Ô]00008[Ô],[Ô]11/06/10[Ô],[Ô]
[Ô]00009[Ô],[Ô]09/06/10[Ô],[Ô]
Aqui a MENSAGEM de Erro é Driver ODBC Tipos de dados Incompativeis e aponsta o erro pra cn.Execute Sql
Dim intCod, strData, linha, linha2, linha3 As String
Dim p_virgula, u_aspas, s_virgula As Integer
Do Until EOF(1)
linha = strFileName
Line Input #1, linha
p_virgula = InStr(linha, [Ô],[Ô])
linha2 = Mid(linha, p_virgula + 1)
s_virgula = InStr(linha2, [Ô],[Ô])
intCod = LTrim(Mid(linha, 2, p_virgula - 3))
strData = LTrim(Mid(linha2, 2, s_virgula - 3))
Sql = [Ô]UPDATE buscar SET[Ô]
Sql = Sql & [Ô] codigo =[ô][Ô] & intCod & [Ô][ô],[Ô]
Sql = Sql & [Ô] data =[ô][Ô] & strData & [Ô][ô][Ô]
Sql = Sql & [Ô] WHERE codigo = [Ô] & intCod
cn.Execute Sql
Loop
Close #1
cn.Close
testei aqui e nao acontece nadinha na tabela acess porem nao da nenhum erro
andei vendo uma outra forma aqui ......
vo postar aqui ... ja testei como no modelo
e ja adaptei
so que la o erro é mais facil
o layout do VB que testei montei igual ,
[Ô]00001[Ô],[Ô]30/06/10[Ô],[Ô]
[Ô]00002[Ô],[Ô]15/06/10[Ô],[Ô]
[Ô]00003[Ô],[Ô]22/06/10[Ô],[Ô]
[Ô]00004[Ô],[Ô]18/06/10[Ô],[Ô]
[Ô]00005[Ô],[Ô]21/06/10[Ô],[Ô]
[Ô]00006[Ô],[Ô]22/06/10[Ô],[Ô]
[Ô]00007[Ô],[Ô]10/06/10[Ô],[Ô]
[Ô]00008[Ô],[Ô]11/06/10[Ô],[Ô]
[Ô]00009[Ô],[Ô]09/06/10[Ô],[Ô]
Aqui a MENSAGEM de Erro é Driver ODBC Tipos de dados Incompativeis e aponsta o erro pra cn.Execute Sql
Dim intCod, strData, linha, linha2, linha3 As String
Dim p_virgula, u_aspas, s_virgula As Integer
Do Until EOF(1)
linha = strFileName
Line Input #1, linha
p_virgula = InStr(linha, [Ô],[Ô])
linha2 = Mid(linha, p_virgula + 1)
s_virgula = InStr(linha2, [Ô],[Ô])
intCod = LTrim(Mid(linha, 2, p_virgula - 3))
strData = LTrim(Mid(linha2, 2, s_virgula - 3))
Sql = [Ô]UPDATE buscar SET[Ô]
Sql = Sql & [Ô] codigo =[ô][Ô] & intCod & [Ô][ô],[Ô]
Sql = Sql & [Ô] data =[ô][Ô] & strData & [Ô][ô][Ô]
Sql = Sql & [Ô] WHERE codigo = [Ô] & intCod
cn.Execute Sql
Loop
Close #1
cn.Close
Marcelo Consegui Obrigado ao Tecla tb
consegui !!!!!!!
O Problema esta que no fim da instrucao quase é integer termina o where & variavel ... ai como é string seria teria q ter [Ô][ô],[Ô] algo assim, obrigado ate +
Dim cn As ADODB.Connection
Private Sub Form_load()
Dim banco As String
Set cn = New ADODB.Connection
strArquivo = [Ô]busca.mdb[Ô]
strLocal = App.Path
Set cn = CreateObject([Ô]ADODB.Connection[Ô])
banco = [Ô]Driver={Microsoft Access Driver (*.mdb)};[Ô] & _
[Ô]Dbq=[Ô] & strArquivo & [Ô];[Ô] & _
[Ô]DefaultDir=[Ô] & strLocal & [Ô];[Ô] & _
[Ô]Uid=Admin;Pwd=;[Ô]
cn.Open banco
End Sub
Private Sub cmdTransferir_Click()
Dim strFileName As String
If Right(txtArquivo.Text, 4) <> [Ô].txt[Ô] Then
MsgBox [Ô]Nome de arquivo inválido.[Ô] & vbLf _
& [Ô]Favor digitar o nome do aquivo com extensão .txt[Ô], vbCritical, [Ô]Sistema de Trenferência[Ô]
Exit Sub
End If
strFileName = App.Path & [Ô]\[Ô] & txtArquivo.Text
Open strFileName For Input As #1
Dim intCod, strData, linha, linha2, linha3 As String
Dim p_virgula, u_aspas, s_virgula As Integer
Do Until EOF(1)
linha = strFileName
Line Input #1, linha
p_virgula = InStr(linha, [Ô],[Ô])
linha2 = Mid(linha, p_virgula + 1)
s_virgula = InStr(linha2, [Ô],[Ô])
intCod = LTrim(Mid(linha, 2, p_virgula - 3))
strData = LTrim(Mid(linha2, 2, s_virgula - 3))
Sql = [Ô]UPDATE buscar SET data = [ô][Ô] & strData & [Ô][ô][Ô]
Sql = Sql & [Ô] Where codigo = [ô][Ô] & intCod & [Ô][ô][Ô]
cn.Execute Sql
Loop
Close #1
cn.Close
MsgBox [Ô]Transferência concluida com sucesso[Ô], vbExclamation
txtArquivo.Text = [Ô][Ô]
End Sub
consegui !!!!!!!
O Problema esta que no fim da instrucao quase é integer termina o where & variavel ... ai como é string seria teria q ter [Ô][ô],[Ô] algo assim, obrigado ate +
Dim cn As ADODB.Connection
Private Sub Form_load()
Dim banco As String
Set cn = New ADODB.Connection
strArquivo = [Ô]busca.mdb[Ô]
strLocal = App.Path
Set cn = CreateObject([Ô]ADODB.Connection[Ô])
banco = [Ô]Driver={Microsoft Access Driver (*.mdb)};[Ô] & _
[Ô]Dbq=[Ô] & strArquivo & [Ô];[Ô] & _
[Ô]DefaultDir=[Ô] & strLocal & [Ô];[Ô] & _
[Ô]Uid=Admin;Pwd=;[Ô]
cn.Open banco
End Sub
Private Sub cmdTransferir_Click()
Dim strFileName As String
If Right(txtArquivo.Text, 4) <> [Ô].txt[Ô] Then
MsgBox [Ô]Nome de arquivo inválido.[Ô] & vbLf _
& [Ô]Favor digitar o nome do aquivo com extensão .txt[Ô], vbCritical, [Ô]Sistema de Trenferência[Ô]
Exit Sub
End If
strFileName = App.Path & [Ô]\[Ô] & txtArquivo.Text
Open strFileName For Input As #1
Dim intCod, strData, linha, linha2, linha3 As String
Dim p_virgula, u_aspas, s_virgula As Integer
Do Until EOF(1)
linha = strFileName
Line Input #1, linha
p_virgula = InStr(linha, [Ô],[Ô])
linha2 = Mid(linha, p_virgula + 1)
s_virgula = InStr(linha2, [Ô],[Ô])
intCod = LTrim(Mid(linha, 2, p_virgula - 3))
strData = LTrim(Mid(linha2, 2, s_virgula - 3))
Sql = [Ô]UPDATE buscar SET data = [ô][Ô] & strData & [Ô][ô][Ô]
Sql = Sql & [Ô] Where codigo = [ô][Ô] & intCod & [Ô][ô][Ô]
cn.Execute Sql
Loop
Close #1
cn.Close
MsgBox [Ô]Transferência concluida com sucesso[Ô], vbExclamation
txtArquivo.Text = [Ô][Ô]
End Sub
desculpe tente isto
tente isto
mantenha a formatação do textop como vc mesmo indicou
0001;20100602
apenas altere o nome do campo de nome data para o nome do seu campo correto
tente isto
mantenha a formatação do textop como vc mesmo indicou
0001;20100602
Final = [Ô][Ô]
Dim dbBanco As Database
Dim Coluna() As String
Dim data As String
Dim codigo As String
Set dbBanco = OpenDatabase(App.Path & [Ô]\busca1.mdb[Ô])
Arquivo = App.Path & [Ô]\mensalidade.txt[Ô]
ArqLivre = FreeFile
Do While Not EOF(ArqLivre)
Line Input #ArqLivre, Registro
Coluna = Split(Registro, [Ô];[Ô])
dbBanco.Execute [Ô]UPDATE buscar SET data=[ô][Ô] & Coluna(1) & [Ô][ô] WHERE codigo=[Ô] & Coluna(0)
Loop
Close #ArqLivre
dbBanco.Close
apenas altere o nome do campo de nome data para o nome do seu campo correto
Tópico encerrado , respostas não são mais permitidas