VERIFICANDO LAYOUT
Pessoal, boa tarde, amigos, eu faço a importação de alguns arquivos txt, cuja estrutura logicamente ja esta definida no sistema, eu gostaria de saber o seguinte.. antes da importacao.. se o arquivo correspondente nao for o arquivo da importacoa para o sistema dar uma mensagem de aviso, que seja uma msgbox, exemplo. estou importando o arquivo de clientes, que contem ..
CODIGO CLIENTE; DATA AQUISICAO; HISTORICO
varchar(10); date, varchar(50)
so que vou ter outros arquivos .. como por exemplo. movimento financeiro..
CODIGO CLIENTE, VALOR PARCELA, DATA PAGAMENTO, entao se o usuario trocar os arquvos.. tentar importar um no lugar do outro.. o sistema vai emitir uma mensagem.. vou mandar a rotina de importacao.. para vcs verem.
CODIGO CLIENTE; DATA AQUISICAO; HISTORICO
varchar(10); date, varchar(50)
so que vou ter outros arquivos .. como por exemplo. movimento financeiro..
CODIGO CLIENTE, VALOR PARCELA, DATA PAGAMENTO, entao se o usuario trocar os arquvos.. tentar importar um no lugar do outro.. o sistema vai emitir uma mensagem.. vou mandar a rotina de importacao.. para vcs verem.
Sub ImportarMapadeComissao()
On Error GoTo ErrorLine
Bar.Value = 0: Me.MousePointer = 13
f = FreeFile
Open txtAnexo.Text For Input As f
Bar.Max = VConta
Do While Not EOF(f)
Line Input #f, Linha
codigo = Mid(Linha, 10, 6)
StrSql = [Ô]INSERT INTO apurcomissaotemp([Ô]
StrSql = StrSql & [Ô]codigocliente)[Ô]
StrSql = StrSql & [Ô] Values ([ô][Ô]
If IsNumeric(codigo) Then
codigo = Format(codigo, [Ô]000000[Ô])
StrSql = StrSql & codigo & [Ô][ô])[Ô]
With Conexao
.BeginTrans
.Execute (StrSql)
.CommitTrans
End With
Bar.Value = Bar.Value + 1
Loop
Close #f
Exit Sub
End If
Bar.Value = 0: Me.Mouseponter = 0
ErrorLineExit:
Exit Sub
ErrorLine:
Conexao.RollbackTrans
If Err = 9 Then
msg.MsgBox [Ô]Existe um parâmetro errado no arquivo que está[Ô] & _
Chr(13) & [Ô]sendo importado, verifique o arquivo texto![Ô], vbInformation, [Ô]Aviso[Ô]
Else
MsgError
Resume ErrorLineExit
End If
End Sub
Citação:Ja vi que vou ter que fazer um tanto de comparacoes, pois uns 10 campos sao em comun.. em posiçoes diferentes e alguns iguais.. affff.. rsrsrs.. mas é isso mesmo.. valeu barros..:
Você pode validar o conteúdo retornado pelo primeiro campo, por exemplo:codigo = Mid(Linha, 10, 6)
if Not Isnumeric(codigo) then
suaMensagemdeErro
endif
Tópico encerrado , respostas não são mais permitidas