MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    [Resolvido]Detectar erro ao executar o comando db.EXECUTE

    avatar
    BobAccess
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 15/09/2011

    [Resolvido]Detectar erro ao executar o comando db.EXECUTE Empty Detectar erro ao executar o comando db.EXECUTE

    Mensagem  BobAccess 15/9/2011, 17:14

    Amigos,
    Sou novato em utilizar Access através do Excel 2010.
    Estou tentando deletar um registro de uma tabela (por VBA) com o seguinte comando:

    cn.Execute "delete from Funcao where codigo = " & Range("A2").Value

    Acontece que o registro com o valor contido na Range não existe na tabela e não está me retornando erro.

    Como faço para tratar este tipo de erro?
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Detectar erro ao executar o comando db.EXECUTE Empty Re: [Resolvido]Detectar erro ao executar o comando db.EXECUTE

    Mensagem  criquio 15/9/2011, 17:54

    Olá Robert, seja bem vindo ao forum. Esse código encontra-se em um form do Access ou é uma macro do Excel? Se for do Access, a tabela está no próprio arquivo aonde o código está sendo executado? Caso seja, pode tentar algo do tipo:

    If IsNull(DLookup("Código", "Funcao", "Código=" & Range("A2").Value)) Then
    MsgBox "Código inexistente", vbCritical, "Erro"
    Else
    cn.Execute "delete from Funcao where codigo = " & Range("A2").Value
    End If


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    BobAccess
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 15/09/2011

    [Resolvido]Detectar erro ao executar o comando db.EXECUTE Empty Re: [Resolvido]Detectar erro ao executar o comando db.EXECUTE

    Mensagem  BobAccess 15/9/2011, 18:12

    Criquio,
    Obrigado pela resposta, mas, estou utilizando uma macro no Excel.
    Voce pode me ajudar?
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Detectar erro ao executar o comando db.EXECUTE Empty Re: [Resolvido]Detectar erro ao executar o comando db.EXECUTE

    Mensagem  criquio 15/9/2011, 18:35

    Poste o código completo da macro.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    BobAccess
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 15/09/2011

    [Resolvido]Detectar erro ao executar o comando db.EXECUTE Empty Re: [Resolvido]Detectar erro ao executar o comando db.EXECUTE

    Mensagem  BobAccess 15/9/2011, 18:59

    Sub Excluir()

    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset

    Set cn = New ADODB.Connection
    cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\users\rcosta\documents\Database11.accdb"
    cn.Open

    Set rs = New ADODB.Recordset
    rs.Open "Funcao", cn, adOpenKeyset, adLockPessimistic

    cn.Execute "delete from Funcao where codigo = " & Range("A2").Value

    rs.Close
    cn.Close
    Set rs = Nothing
    Set cn = Nothing

    Quando executo com a range contendo um valor existente na tabela o registro é excluído corretamente.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8499
    Registrado : 05/11/2009

    [Resolvido]Detectar erro ao executar o comando db.EXECUTE Empty Re: [Resolvido]Detectar erro ao executar o comando db.EXECUTE

    Mensagem  Alexandre Neves 15/9/2011, 20:01

    Bob,

    Em Excel, o código será semelhante ao do access.
    Se não existe nenhum registo com esse critério, não tem que lhe dar erro. Ele apaga os que tem, que neste caso particular são zero registos.
    Se pretender interceptar a situação de não haver registos a apagar, deverá utilizar a propriedade RecordsAffected
    avatar
    BobAccess
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 15/09/2011

    [Resolvido]Detectar erro ao executar o comando db.EXECUTE Empty Re: [Resolvido]Detectar erro ao executar o comando db.EXECUTE

    Mensagem  BobAccess 15/9/2011, 20:56

    Obrigado!

    Conteúdo patrocinado


    [Resolvido]Detectar erro ao executar o comando db.EXECUTE Empty Re: [Resolvido]Detectar erro ao executar o comando db.EXECUTE

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 25/11/2024, 05:06