Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

aprendizes

copiar dados de uma tabela

Recommended Posts

Criar uma copia? como a mesma estrutura?

 

Não entendi pois bastaria copiar e colar a tabela

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Imagino que este problema já tenha sido resolvido, mas como não foi postada nenhuma solução, segue uma rotina - mais ou menos - feita em VBA...

 

 

Sub modImportTable()
Dim FD As Object
Dim strCaminho As String, strTblOrg As String, strTblDst As String, SQL As String

On Error GoTo Err_Import

'Rotina para definir o banco de dados que contem a tabela desejada
Set FD = Application.FileDialog(msoFileDialogFilePicker)

With FD
.InitialFileName = CurrentProject.Path 'Informa o folder padrão
.Filters.Add "Banco de Dados", "*.mdb", 1 'Informa o tipo de arquivo filtrado
.Title = "Selecionar arquivo" 'Informa o título da caíxa de diálogo
If .Show = -1 Then 'Abre a caixa de diálogo
For Each vrtSelectedItem In .SelectedItems
strCaminho = vrtSelectedItem 'Atribui o "endereço" do arquivo selecionado à variável
Next vrtSelectedItem
End If
End With
Set FD = Nothing 'Finaliza FD

'Atribuição de valores às variáveis - que pode ser substituida por uma TextBox ou um InputBox
strTblOrg = "tblChamadas"
strTblDst = "tblTemp"

'Rotina para linkar tabela e copiar as informações
DoCmd.TransferDatabase acLink, "Microsoft Access", strCaminho, acTable, strTblOrg, strTblDst, False

'Aqui a parte "mais ou menos" - não encontrei maneira de importar apenas os dados, sem a estrutura da tabela
DoCmd.SetWarnings False 'Sem aviso de execução de consulta
SQL = "INSERT INTO itblChamadas ( IdChamada, DtIni, DtFim, IdOperador, IdMidia, IdStatus ) " & _
"SELECT IdChamada, DtIni, DtFim, IdOperador, IdMidia, IdStatus FROM " & strTblDst
DoCmd.RunSQL SQL 'SQL que "copia" as informações da tabela de Origem para a Destino

SQL = "DROP Table " & strTblDst
DoCmd.RunSQL SQL 'Exclui a tabela temporária

'Finalização do processo
MsgBox "Processo executado com sucesso!", vbInformation, "iMasters - Access"


Exit_Import:
Exit Sub

Err_Import:
MsgBox "Erro número: " & Err.Number & vbLf & vbLf & Err.Description, vbCritical, "iMasters - Access"

Resume Exit_Import

End Sub[/Code]

 

 

 

 

PS: também seria interessante listar as tabelas eixtente no BD em uma ListBox, no form, ao invés de um valor fixo - acho que postei algo parecido...

 

 

 

Sem mais,

 

Julien Sorel

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.