Criando uma tabela a partir de outra já existente no banco de dados


Nesta dica eu vou mostrar como criar uma tabela a partir de outra já existente no banco de dados. Na verdade vamos fazer uma cópia de uma tabela existente no banco de dados no mesmo banco de dados com outro nome.

Você vai precisar informar o banco de dados , a tabela de origem e a nome da tabela de destino.

Inicie um novo projeto no VB e no formulário padrão insira os seguintes controles : 3 Labels , 3 caixas de texto e um botão de comando, conforme layout abaixo:

- No formulário estamos informando o nome do banco de dados : Teste.mdb

- O nome da tabela Pilotos que já existe no banco de dados Teste.mdb

- O nome da nova tabela que será criada : PilotosTeste

O código é dado abaixo :

Private Sub Command1_Click()

On Error GoTo trata_erro

If Dir(Text1.Text) <> "" Then

  If Text2.Text <> "" And Text3.Text <> "" Then

    Dim conn As New ADODB.Connection
    Dim tbl As New ADODB.Recordset
    conn.Open "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & App.Path & "\" & Text1.Text & ";Jet OLEDB"

    tbl.Open "SELECT * INTO " & Text3.Text & " FROM " & Text2.Text, conn
    conn.Close
    MsgBox " A tabela " & Text3.Text & " foi criada com sucesso !", vbInformation

  End If
Else
  MsgBox "Banco de dados não existe !", vbCritical
End If

Exit Sub

trata_erro:
If Err.Number = -2147217865 Then
  MsgBox " A tabela " & Text2.Text & " não existe no banco de dados !", vbInformation
ElseIf Err.Number = -2147217900 Then
  MsgBox " A tabela " & Text3.Text & " já existe no banco de dados !", vbInformation
Else
  MsgBox Err.Number & " - " & Err.Description
End If
End Sub

- Abrimos uma conexão com o banco de dados Teste.mdb usando um provedor OLE DB ADO e após verificar se o banco de dados e a tabela existem criamos a nova tabela - PilotosTeste - com o seguinte código :

tbl.Open "SELECT * INTO " & Text3.Text & " FROM " & Text2.Text, conn

E isto é tudo... Até a próxima.