Bom dia, Srs.
Estou tentando utilizar a função abaixo inserir colunas em uma tabela do banco access do Excel, mas não estou conseguindo ...
Olhei alguns código na internet informando para fazer da seguinte forma:
Banco.Execute "ALTER TABLE ESTACAONEW ADD COLUMN LatitudeNew LONG;"
Dá erro de compilção:
Método ou membro ode dados não encontrado
Tentei desse outro modo
DoCmd.RunSQL "ALTER TABLE ESTACAONEW ADD COLUMN LatitudeNew LONG;"
Dá erro de compilção:
Variável não definida
Essa parte esta dentro de um Módulo Classe
Public Conn As New ADODB.Connection Public Sub Conectar() Dim nConectar As String Dim BancoDados As String BancoDados = Plan2.Range("D6") If Val(Application.Version) < 12 Then nConectar = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & BancoDados & ";Jet OLEDB:Database" Else nConectar = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & BancoDados & ";Jet OLEDB:Database" End If Conn.ConnectionString = nConectar Conn.Open End Sub Public Sub Desconectar() Conn.Close End Sub Function VerificaCampoTabela() As Boolean Dim Tabela As String Dim Campos As String Dim vCampo1 As Long Dim vCampo2 As Long Dim vCampo3 As Long On Error GoTo Erro SQL = "SELECT * FROM ESTACAONEW" Set Banco = New ADODB.Recordset ConexaoBanco.Conectar ' ABRE A CONEXAO DO BANCO Banco.Open SQL, ConexaoBanco.Conn, adOpenForwardOnly, adLockOptimistic ' VERIFICA SE O CAMPO "LATITUDENEW" EXISTE NA TABELA If Not Banco.Fields("LatitudeNew") Is Nothing Then Campos = Campos & vbNewLine & " LatitudeNew" vCampo1 = 1 End If ' VERIFICA SE O CAMPO "LONGITUDENEW" EXISTE NA TABELA If Not Banco.Fields("LongitudeNew") Is Nothing Then Campos = Campos & vbNewLine & " LongitudeNew" vCampo2 = 1 End If ' VERIFICA SE O CAMPO "ALTITUDENEW" EXISTE NA TABELA If Not Banco.Fields("AltitudeNew") Is Nothing Then Campos = Campos & vbNewLine & " AltitudeNew" vCampo3 = 1 End If MsgBox "A tabela ESTACAO recebeu novos campos, são eles:" & vbNewLine & Campos ' LIMPA A CONEXAO DO BANCO Set Banco = Nothing ' ENCERA A CONEXAO DO BANCO ConexaoBanco.Desconectar ' FINALIZA A FUNCAO Exit Function Erro: ' CASE COM A VERIFICACAO DO CAMPO Select Case Err ' O CAMPO NAO EXISTE Case 3265 ' SQL INSERIR COLUNAS LATITUDENEW - LONGITUDENEW - ALTITUDENEW If vCampo1 = 0 Then SQL = "" SQL = SQL & "ALTER TABLE ESTACAONEW ADD COLUMN LatitudeNew LONG " MsgBox "Criado o campo LATITUDENEW " ElseIf vCampo2 = 0 Then SQL = "" SQL = SQL & "ALTER TABLE ESTACAONEW ADD COLUMN LongitudeNew LONG " MsgBox "Criado o campo LONGITUDENEW " ElseIf vCampo3 = 0 Then SQL = "" SQL = SQL & "ALTER TABLE ESTACAONEW ADD COLUMN AltitudeNew LONG " MsgBox "Criado o campo ALTITUDENEW" End If Resume Next ' O CAMPO EXISTE Case Else MsgBox "Outro tipo de erro" End Select ' LIMPA A CONEXAO DO BANCO Set Banco = Nothing ' ENCERA A CONEXAO DO BANCO ConexaoBanco.Desconectar End Function
Gostaria de uma ajuda dos senhores ... Onde estou errando ?
Se a resposta foi útil! Clique na mãozinha ao lado do botão Citar.
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde.
Boa noite, Srs.
Com ajuda do Mikel Silveira Fraga
Em outro fórum consegui resolver o problema, nesse link http://www.tomasvasquez.com.br/forum/viewtopic.php?f=20&t=4969 tem a resolução.
Valew por todos aqueles que olhando minha duvida.
Se a resposta foi útil! Clique na mãozinha ao lado do botão Citar.
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde.