SALVAR CONTEUDO DE MATRIZ
Tenho o BD em arquivos .txt delimitado por "|" utilizei este código para quebrar os campos e jogar em matrizes, mas agora não sei como jogar o valor de cada matriz em cada campo da tabela no access.
ex do arquivo txt
00001|AAS INFANTIL|004|009|CP
00009|COMPLEXO B|004|011|MG
00002|VOLTAREM 50 MG|004|009|VD
Estou utilizando este código:
Dim intFile As Integer ' Número do arquivo
Dim Matriz As Variant ' Matriz com os registros
Dim blnRegistro As Boolean ' Controla se já é registro
Dim intCont As Integer ' Contador básico
Dim strTexto As Variant 'recebe o registro inteiro
' Recebe um número para o arquivo
intFile = FreeFile
' Abre o arquivo.
Open "M:\Exportmed\TxtFiles\01082006_2300\MGA_MEDIC.txt" For Input As intFile
' Enquanto não for final de arquivo e houver linhas no arquivo faça o loop
Do While Not EOF(intFile)
' Recebe uma linha
Line Input #intFile, strTexto
Sendo registro, quebra o texto na matriz
Matriz = Split(strTexto, "|")
' Mostra a matriz no debug
Debug.Print "----------"
For intCont = 0 To UBound(Matriz) - 1 'retorna o valor p/a matriz
Debug.Print Matriz(intCont)
Next intCont
Debug.Print "----------"
blnRegistro = True
Loop
Close intFile
End Function
Se alguem puder me dar uma ajuda em como salvar isso nas tabelas do access usando VBA eu agradeço
Obrigada
ex do arquivo txt
00001|AAS INFANTIL|004|009|CP
00009|COMPLEXO B|004|011|MG
00002|VOLTAREM 50 MG|004|009|VD
Estou utilizando este código:
Dim intFile As Integer ' Número do arquivo
Dim Matriz As Variant ' Matriz com os registros
Dim blnRegistro As Boolean ' Controla se já é registro
Dim intCont As Integer ' Contador básico
Dim strTexto As Variant 'recebe o registro inteiro
' Recebe um número para o arquivo
intFile = FreeFile
' Abre o arquivo.
Open "M:\Exportmed\TxtFiles\01082006_2300\MGA_MEDIC.txt" For Input As intFile
' Enquanto não for final de arquivo e houver linhas no arquivo faça o loop
Do While Not EOF(intFile)
' Recebe uma linha
Line Input #intFile, strTexto
Sendo registro, quebra o texto na matriz
Matriz = Split(strTexto, "|")
' Mostra a matriz no debug
Debug.Print "----------"
For intCont = 0 To UBound(Matriz) - 1 'retorna o valor p/a matriz
Debug.Print Matriz(intCont)
Next intCont
Debug.Print "----------"
blnRegistro = True
Loop
Close intFile
End Function
Se alguem puder me dar uma ajuda em como salvar isso nas tabelas do access usando VBA eu agradeço
Obrigada
Olá Juliane, seguinte, não entendi direito como você está trabalhando , mas partindo da mesma lógica de trabalho que eu uso, você primeiro vai ter que criar um banco de dados no access, eu faço manual mesmo isso, ae então você cria uma tabela ou mais com os campos que serão utilizados, dae vocÃÅ realiza a conexão com o banco access e via comando sql você irá inserir..... seria isso, agora não sei se você precisa dos comandos de conexão e etc.........
Oi Cabelo1 a tabela já esta criada com a estrutura correta, eu só tenho q alimentar esta tabela com este conteudo da matriz, não sei se vc da pra me entender...Obrigada
a tá sei, tá então assim você só precisa inserir um comando sql no seu código,
isso no seu loop , dae você insere conexao.execute "insert into nomdasuatabela (codigo,nome) values ('" & mid(strtexto,1,5) & "', '" & mid(strtexto,5,6) & "')"
dae assim no caso acima tu usa o mid cujo primeiro valor é a posição da linha do teu txt que ele começa e o segundo é a quantidade de caracteres ok , dae você só tem que setar a variável conexao como new adodb.connection e inserir nela os parÓ¡metros de conexão com o access...... era isso??????? qualqer coisa dá um toqe
isso no seu loop , dae você insere conexao.execute "insert into nomdasuatabela (codigo,nome) values ('" & mid(strtexto,1,5) & "', '" & mid(strtexto,5,6) & "')"
dae assim no caso acima tu usa o mid cujo primeiro valor é a posição da linha do teu txt que ele começa e o segundo é a quantidade de caracteres ok , dae você só tem que setar a variável conexao como new adodb.connection e inserir nela os parÓ¡metros de conexão com o access...... era isso??????? qualqer coisa dá um toqe
Colega, tu usas ADO ou DAO? usa objeto DATA? Qdo grava dados no BD usa instruções SQL ou o RecordSet? Quais os campos da tabela?
PS: Pode parecer chatice minha, mas nos ajuda a ajudar...^^
PS: Pode parecer chatice minha, mas nos ajuda a ajudar...^^
Tópico encerrado , respostas não são mais permitidas