Chamon Consultoria 27/11/2016, 20:01
Solução abaixo. Créditos para Damasceno Jr.
Dim rsOrigem As Recordset 'declaro a variável que receberá os registros da tabela origem
Dim rsDestino As Recordset 'declaro a variável que receberá os registros da tabela destino
Dim L As Long 'declaro a variável que me auxiliará na numeração automática do campo id Produto
Set rsOrigem = CurrentDb.OpenRecordset("prod") 'carrego a tabela prod na memória do VBA
Set rsDestino = CurrentDb.OpenRecordset("tbl_produtos") 'carrego a tabela tbl_produtos na memória do VBA
L = DMax("CODPRO", "tbl_produtos") + 1 'atribuo à variável L o maior valor da coluna id Produto + 1
While Not rsOrigem.EOF 'marco o início de uma estrutura de repetição dizendo: ENQUANTO NÃO FOR O FINAL DOS REGISTROS DA TABELA PROD
rsDestino.AddNew 'vá para a posição de novo registro da tabela tbl_produtos
rsDestino!CODPROFOR = rsOrigem!cProd 'caso os campos
rsDestino!ccNomPro = rsOrigem!xProd 'caso os campos
rsDestino!ccNCM = rsOrigem!NCM 'caso os campos
rsDestino!ccMedida = rsOrigem!uCom 'caso os campos
rsDestino!ccPreçoCusto = rsOrigem!vUnCom 'caso os campos
rsDestino!CODPRO = L 'meu campo id Produto receberá o valor da variável L
rsDestino.Update 'salvo o registro que adicionei na tabela tbl_produtos
rsOrigem.MoveNext 'movo-me para o próximo registro da tabela prod
L = L + 1 'adiciono + 1 à minha variável L, já que a usarei para adicionar um outro registro se necessário
Wend 'marco o final da minha estrutura de repetição
rsOrigem.Close 'fecho a tabela prod
Set rsOrigem = Nothing 'e a descarrego da memória
rsDestino.Close 'fecho a tabela tbl_produtos
Set rsDestino = Nothing 'e a descarrego da memória
MsgBox "Operação concluída.", vbInformation, "Informação" 'aviso sobre a conclusão da operação
'questiono se desejo apagar os registros da tabela prod, se a resposta for não, o código não avança
If MsgBox("Deseja excluir os registros da tabela prod?", vbYesNo + vbQuestion + vbDefaultButton1, "Excluir") = vbNo Then Exit Sub
CurrentDb.Execute "delete from prod" 'deleto todos os registros da tabela prod