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]Instrução delete dando erro 3061, era esperado 1

    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    [Resolvido]Instrução delete dando erro 3061, era esperado 1 Empty [Resolvido]Instrução delete dando erro 3061, era esperado 1

    Mensagem  Silvio 29/5/2014, 12:48

    Prezados bom dia a todos.

    Necessito de uma pequena ajuda, tenho a seguinte instrução

    Private Sub bt_fechar_Click()
    If IsNull(Me.CDIRDTVIG) Or IsNull(Me.CDIRNUM) Or IsNull(Me.CDIREMPNUM) Or IsNull(Me.CDIRNINST) Then
    If MsgBox("Cadastro incompleto, o mesmo será apagado do sistema ! ", vbYesNo + vbQuestion, Me.Caption) = vbYes Then
    CurrentDb.Execute ("delete * from tblatzcdir Where cdirpreco IS NULL AND cdirnisnt IS NULL")
    DoCmd.Close
    DoCmd.OpenForm "frmmenu"
    Else
    DoCmd.Close
    DoCmd.OpenForm "frmmenu"
    Exit Sub
    End If
    End If

    A linha em vermelha( instrução delete ) está me causando erro 3061.

    Preciso deletar registros incompletos ao fechar o formulário. Com uma condição vai..mas com duas trava. Já tentei and, or ..coloquei entre colchetes, aspas duplas, aspas simples.

    Desde já agradeço.

    End Sub


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Instrução delete dando erro 3061, era esperado 1 Empty Re: [Resolvido]Instrução delete dando erro 3061, era esperado 1

    Mensagem  Noobezinho 29/5/2014, 13:01

    Olá Silvio

    Experimente no assim:

    Docmd.RunSQL "delete * from tblatzcdir Where cdirpreco IS NULL AND cdirnisnt IS NULL"

    ou ainda:

    Docmd.RunSQL "delete * from tblatzcdir Where cdirpreco = NULL AND cdirnisnt = NULL"


    Quando tenho que escrever uma frase SQL no VBA, eu primeiro crio a consulta e testo a mesma.

    Uma vez que está "funfando", mudo para o SQL e copio para o VBA, fazendo as mudanças pertinentes para o código.

    Tomara que funfe, como você deve saber, sem a tabela em questão é difícil ajudar

    Não custa falar: verifique os nomes da tabela e controles  Razz 

    Abração

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    [Resolvido]Instrução delete dando erro 3061, era esperado 1 Empty Re: [Resolvido]Instrução delete dando erro 3061, era esperado 1

    Mensagem  Silvio 29/5/2014, 13:45

    Bom dia...

    Hummmm, rodando em SQL ele pede o nome de um campo....

    Necessito mesmo que seja em :
    CurrentDb.Execute ("delete * from tblatzcdir Where cdirpreco IS NULL AND cdirnisnt IS NULL") e ainda por cima...tem que ser no click do botão fechar.

    Sei que é um erro de sintaxe e estou tentando encontrar esse erro.

    Abraços.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Instrução delete dando erro 3061, era esperado 1 Empty Re: [Resolvido]Instrução delete dando erro 3061, era esperado 1

    Mensagem  Assis 29/5/2014, 13:50

    Silvio

    Tente aplicar, no meu funfa.

    Currentdb.execute "DELETE * FROM Tabela WHERE IsNull(Campo);"


    No seu caso 2 campos

    Currentdb.execute "DELETE * FROM Tabela WHERE IsNull(Campo1) And IsNull(Campo2);"


    .................................................................................
    *** Só sei que nada sei ***
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Instrução delete dando erro 3061, era esperado 1 Empty Re: [Resolvido]Instrução delete dando erro 3061, era esperado 1

    Mensagem  Noobezinho 29/5/2014, 14:12

    Certo, Silvio

    Agora tô mais acordado, hehe

    Vamos lá

    CurrentDb.Execute ("delete * from tblatzcdir Where cdirpreco IS NULL AND cdirnisnt IS NULL")

    Se tentou o código passado pelo Assis e não funfou:

    CurrentDb.Execute ("delete * from tblatzcdir Where tblatzcdir.cdirpreco = NULL AND tblatzcdir.cdirnisnt = NULL")

    ou ainda:

    Docmd.RunSQL "delete * from tblatzcdir Where tblatzcdir.cdirpreco = NULL AND tblatzcdir.cdirnisnt = NULL"

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    [Resolvido]Instrução delete dando erro 3061, era esperado 1 Empty Re: [Resolvido]Instrução delete dando erro 3061, era esperado 1

    Mensagem  Silvio 29/5/2014, 14:57

    Depois de pensar....e pensar....descobri como colocar o ovo em pé....

    Começamos aqui..

    If IsNull(Me.CDIRDTVIG) Or IsNull(Me.CDIRNUM) Or IsNull(Me.CDIREMPNUM) Or IsNull(Me.CDIRNINST) Then
    MsgBox"Cadastro incompleto, o mesmo será apagado do sistema ! ", me.caption
    CurrentDb.Execute ("delete * from tblatzcdir Where CDIRDTVIGIS NULL AND CDIRNUM IS NULL AND CDIREMPNUM AND CDIRNINST IS NULL ")
    me.requery
    DoCmd.Close
    DoCmd.OpenForm "frmmenu"
    Else
    DoCmd.Close
    DoCmd.OpenForm "frmmenu"
    End If

    Note que os isnull da instrução IF tem que serem os mesmos da instrução currentDb.execute("delete..................")

    Agradeço aos colegas Assis...Noobezinho pela força.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Instrução delete dando erro 3061, era esperado 1 Empty Re: [Resolvido]Instrução delete dando erro 3061, era esperado 1

    Mensagem  Noobezinho 29/5/2014, 21:46

    Ótimo Silvio

    Grande abraço

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.

    Conteúdo patrocinado


    [Resolvido]Instrução delete dando erro 3061, era esperado 1 Empty Re: [Resolvido]Instrução delete dando erro 3061, era esperado 1

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 15:04