UPDATE GRAVA EM BRANCO
Pessoal , estou importando um txt o campo pagamento importa , e grava em seu devido where
porem , tem algo errado, que o campo pagam nao grava
o txt é assim
[Ô]00045[Ô],[Ô]14/06/2010[Ô],[Ô]S[Ô]
o codigo e a data da certo , mais o S grava em branco ou as vezes grava o numero 1
Acho que está incorreto esses trechos
linha3 = Mid(linha2, s_virgula + 1)
t_virgula = InStr(linha3, [Ô],[Ô])
e strPagam = LTrim(Mid(linha3, 2, s_virgula - 3))
segue o trecho inteiro
Open strFileName For Input As #1
Dim intCod, strPagamento, strPagam, 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, [Ô],[Ô])
linha3 = Mid(linha2, s_virgula + 1)
t_virgula = InStr(linha3, [Ô],[Ô])
intCod = LTrim(Mid(linha, 2, p_virgula - 3))
strPagamento = LTrim(Mid(linha2, 2, s_virgula - 3))
strPagam = LTrim(Mid(linha3, 2, s_virgula - 3))
sql = [Ô]UPDATE aluno SET[Ô]
sql = sql & [Ô] pagamento=[ô][Ô] & strPagamento & [Ô][ô],[Ô]
sql = sql & [Ô] pagam=[ô][Ô] & strPagam & [Ô][ô][Ô]
sql = sql & [Ô] Where cod_ = [ô][Ô] & intCod & [Ô][ô][Ô]
cn.Execute sql
Obrigado
Abs
Marcelo Fazan
porem , tem algo errado, que o campo pagam nao grava
o txt é assim
[Ô]00045[Ô],[Ô]14/06/2010[Ô],[Ô]S[Ô]
o codigo e a data da certo , mais o S grava em branco ou as vezes grava o numero 1
Acho que está incorreto esses trechos
linha3 = Mid(linha2, s_virgula + 1)
t_virgula = InStr(linha3, [Ô],[Ô])
e strPagam = LTrim(Mid(linha3, 2, s_virgula - 3))
segue o trecho inteiro
Open strFileName For Input As #1
Dim intCod, strPagamento, strPagam, 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, [Ô],[Ô])
linha3 = Mid(linha2, s_virgula + 1)
t_virgula = InStr(linha3, [Ô],[Ô])
intCod = LTrim(Mid(linha, 2, p_virgula - 3))
strPagamento = LTrim(Mid(linha2, 2, s_virgula - 3))
strPagam = LTrim(Mid(linha3, 2, s_virgula - 3))
sql = [Ô]UPDATE aluno SET[Ô]
sql = sql & [Ô] pagamento=[ô][Ô] & strPagamento & [Ô][ô],[Ô]
sql = sql & [Ô] pagam=[ô][Ô] & strPagam & [Ô][ô][Ô]
sql = sql & [Ô] Where cod_ = [ô][Ô] & intCod & [Ô][ô][Ô]
cn.Execute sql
Obrigado
Abs
Marcelo Fazan
Vamos lá Marcelo
1º - Depois do [Ô]S[Ô] tem mais alguma vÃrgula? Senão, não entendi o porque de: t_virgula = InStr(linha3, [Ô],[Ô])
Se sim, porque vc faz: strPagam = LTrim(Mid(linha3, 2, s_virgula - 3)) e não strPagam = LTrim(Mid(linha3, 2, t_virgula - 3))
Porque vc usa o s_virgula 2 vezes ao invés do t_virgula no ultimo?
Faremos uma pequena alteração:
Open strFileName For Input As #1
Dim intCod, strPagamento, strPagam, linha, linha2, linha3 As String
Dim p_virgula, u_aspas, s_virgula As Integer
Qual o banco de dados que você está usando?
O campo a ser preenchido é LÓGICO ou CARACTER?
Open strFileName For Input As #1
Dim intCod, strPagamento, strPagam, linha, linha2, linha3 As String
Dim p_virgula, u_aspas, s_virgula As Integer
Do Until EOF(1)
linha = strFileName
Line Input #1, linha
Wlinha = replace(linha,chr(34),[Ô][Ô])
Wdiv = split(Wlinha,[Ô],[Ô])
intCodL = Wdiv(0)
strPagamento = Wdiv(1)
strPagam = Wdiv(2)
sql = [Ô]UPDATE aluno SET[Ô]
sql = sql & [Ô] pagamento=[ô][Ô] & strPagamento & [Ô][ô],[Ô]
sql = sql & [Ô] pagam=[ô][Ô] & strPagam & [Ô][ô][Ô]
sql = sql & [Ô] Where cod_ = [ô][Ô] & intCod & [Ô][ô][Ô]
cn.Execute sql
Qual o banco de dados que você está usando?
O campo a ser preenchido é LÓGICO ou CARACTER?
colega tenta isso
Open strFileName For Input As #1
Dim linha As String
Dim Result() As String, u_aspas As String
Do Until EOF(1)
linha = strFileName
Line Input #1, linha
u_aspas = Replace(Linha, [Ô][Ô][Ô],[Ô][Ô]) [txt-color=#007100][ô]retira as aspas[/txt-color]
Result = Split(u_aspas,[Ô],[Ô])[txt-color=#007100] [ô]Cria um vetor dos valores[/txt-color]
sql = [Ô]UPDATE aluno SET[Ô]
sql = sql & [Ô] pagamento=[ô][Ô] & Result(0) & [Ô][ô],[Ô]
sql = sql & [Ô] pagam=[ô][Ô] & Result(1) & [Ô][ô][Ô]
sql = sql & [Ô] Where cod_ = [ô][Ô] & Result(2) & [Ô][ô][Ô]
cn.Execute sql
acima a forma bem simplificada.
PS: existem um outro topico que vc não encerrou
Open strFileName For Input As #1
Dim linha As String
Dim Result() As String, u_aspas As String
Do Until EOF(1)
linha = strFileName
Line Input #1, linha
u_aspas = Replace(Linha, [Ô][Ô][Ô],[Ô][Ô]) [txt-color=#007100][ô]retira as aspas[/txt-color]
Result = Split(u_aspas,[Ô],[Ô])[txt-color=#007100] [ô]Cria um vetor dos valores[/txt-color]
sql = [Ô]UPDATE aluno SET[Ô]
sql = sql & [Ô] pagamento=[ô][Ô] & Result(0) & [Ô][ô],[Ô]
sql = sql & [Ô] pagam=[ô][Ô] & Result(1) & [Ô][ô][Ô]
sql = sql & [Ô] Where cod_ = [ô][Ô] & Result(2) & [Ô][ô][Ô]
cn.Execute sql
acima a forma bem simplificada.
PS: existem um outro topico que vc não encerrou
MARCELOFAZAN
Tente as opções descritas anteriormente e retorne com o resultado.
Encerre seus tópicos resolvidos pois existe um limite para tópicos abertos.
Tente as opções descritas anteriormente e retorne com o resultado.
Encerre seus tópicos resolvidos pois existe um limite para tópicos abertos.
Olá amigos
Consegui precisava ter encaixado t_virgula
Dim intCod, strPagamento, strPagam, linha, linha2, linha3 As String
Dim p_virgula, u_aspas, s_virgula, t_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, [Ô],[Ô])
linha3 = Mid(linha2, s_virgula + 1)
t_virgula = InStr(linha3, [Ô],[Ô])
intCod = LTrim(Mid(linha, 2, p_virgula - 3))
strPagamento = LTrim(Mid(linha2, 2, s_virgula - 3))
strPagam = LTrim(Mid(linha3, 2, t_virgula - 3))
sql = [Ô]UPDATE buscar SET[Ô]
sql = sql & [Ô] pagamento=[ô][Ô] & strPagamento & [Ô][ô],[Ô]
sql = sql & [Ô] pagam=[ô][Ô] & strPagam & [Ô][ô][Ô]
sql = sql & [Ô] Where cod_ = [ô][Ô] & intCod & [Ô][ô][Ô]
cn.Execute sql
Loop
Close #1
cn.Close
Obrigado
Abs
Marcelo Fazan
Consegui precisava ter encaixado t_virgula
Dim intCod, strPagamento, strPagam, linha, linha2, linha3 As String
Dim p_virgula, u_aspas, s_virgula, t_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, [Ô],[Ô])
linha3 = Mid(linha2, s_virgula + 1)
t_virgula = InStr(linha3, [Ô],[Ô])
intCod = LTrim(Mid(linha, 2, p_virgula - 3))
strPagamento = LTrim(Mid(linha2, 2, s_virgula - 3))
strPagam = LTrim(Mid(linha3, 2, t_virgula - 3))
sql = [Ô]UPDATE buscar SET[Ô]
sql = sql & [Ô] pagamento=[ô][Ô] & strPagamento & [Ô][ô],[Ô]
sql = sql & [Ô] pagam=[ô][Ô] & strPagam & [Ô][ô][Ô]
sql = sql & [Ô] Where cod_ = [ô][Ô] & intCod & [Ô][ô][Ô]
cn.Execute sql
Loop
Close #1
cn.Close
Obrigado
Abs
Marcelo Fazan
Tópico encerrado , respostas não são mais permitidas