none
Erro 429 RRS feed

  • Pergunta

  • Bom dia amigos. Eu conheço muito pouco de VBA mas estou aventurando-me em tentar aprender e desenvolver alguma coisa para uso próprio mas não consegui sair do primeiro passo. Utilizo o Win 10 e o Office 2016. Comecei a fazer um cadastro pequeno como teste, se desse certo eu daria continuidade. Esses foram os códigos que usei:

    Módulo 1

         
    Option Explicit
    Global banco As Database
    Global consulta As Recordset

    Sub conecta()
        'Set banco = OpenDatabase("C:\Users\Lucas\Desktop\Concurso STJ\Cadastro_Cliente.mdb")
        Set banco = OpenDatabase("C:\Users\Lucas\Desktop\Concurso STJ\BancoCadastro.accdb")

    'Estou usando os dois banco por causa de sistema diferentes tipo Win 10 e Win XP
    End Sub
    Sub desconecta()
        Set banco = Nothing
        Set consulta = Nothing
    End Sub

    Form

    Private Sub btnSair_Click()
    Unload Me
    End Sub

    Private Sub btnSalvar_Click()
        Dim ComandoSQL As String
        Dim ID As Integer
         
        ID = txtMatricula
        
        ComandoSQL = "select * from tabela_cliente.accdb"
        
        Call conecta
        
        Set consulta = banco.OpenRecordset(ComandoSQL)
        
        With consulta
            .AddNew
         .Fields("Matrícula") = ID
         .Fields("Nome") = Me.txtNome
         .Fields("Endereço") = Me.txtEndereco
         .Fields("CPF") = Me.txtCPF
             On Error GoTo Sai:
             
        Update
        End With
        
        consulta.Close
        banco.Close
        
        Call desconecta
        
        Call Limpar_campos
        
    End Sub

    Private Sub txtMatricula_AfterUpdate()
    'Cria a variavel que armazena os comandos SQL
        Dim ComandoSQL As String
        Dim ID As Integer
        
            ID = txtMatricula
        
        'Armazena na variavel o comando que fará a consulta SQL no BD Access
        ComandoSQL = "select * from  Matrícula where Tabela_Cliente like '" & ID & "' "
        
        'Chama a rotina que faz a conexão com o BD
        Call conecta
        
        'Atribui a variavel objeto de BD a execução dos comandos SQL
        Set consulta = banco.OpenRecordset(ComandoSQL)
        
            On Error GoTo Sai
        
        Me.txtMatricula = consulta("Matricula")
        Me.txtNome = consulta("Nome")
        Me.txtEndereco = consulta("Endereço")
        Me.txtCPF = consulta("CPF")
        
        'Habilita os botãoes
        Me.btnEditar = True
        Me.btnExcluir = True
        
        'Desbilita o botão salvar
        Me.btnSalvar = False
    Exit Sub

    Sai: 'O comando será desviado para cá caso haja erro de acesso aos dados

        Dim resposta As String
        resposta = MsgBox("Código não encontrado. Deseja Cadastrar?", vbYesNo)
        
        If resposta = vbYes Then
            Call Limpar_campos
            Me.txtMatricula = ID
            
            Me.btnSalvar.Enabled = True
            
        Else
        
            Call Limpar_campos
            
            Call desconecta
        
        End If
    End Sub
    Sub Limpar_campos()
        Me.txtMatricula = Empty
        Me.txtNome = Empty
        Me.txtEndereco = Empty
        Me.txtCPF = Empty
    End Sub

    Quando tento gravar apresenta ERRO 429 e na depuração marca essa linha: Set banco = OpenDatabase("C:\Users\Lucas\Desktop\Concurso STJ\BancoCadastro.accdb"), idependente do BD que estiver usando.
    Alguem teria uma dica?????


    quarta-feira, 21 de março de 2018 10:34

Todas as Respostas

  • LucasRj,

        Parece que tem um probleminha que se resolve com atualização... veja:

    ====================================
    Error 429 when connect DAO Access
    https://stackoverflow.com/questions/28386307/error-429-when-connect-dao-access

    ====================================

        "I was building a MDB to ACCDB converter when I ran into the Error 429. Here is a link to the download that solved my problem."

        "Eu estava construindo um conversor MDB para ACCDB quando eu corri para o erro 429. Aqui está um link para o download que resolveu o meu problema."

    http://www.microsoft.com/en-ca/download/details.aspx?id=13255

        "Playing around with the references, it turned out that using Microsoft Office 15.0 Access database engine Object (ACEDAO.DLL) instead of the DAO360 solved the issue."

        "Brincando com as referências, descobriu-se que usando o objeto de mecanismo de banco de dados do Access Microsoft Office 15.0 (ACEDAO.DLL) em vez do DAO360 resolveu o problema."


    []'s,
    Fabio I.
    quarta-feira, 21 de março de 2018 11:48