MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

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

    Compartilhe

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

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

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

    Mensagem  Silvio em Qui 29 Maio 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.
    [Você precisa estar registrado e conectado para ver este link.]

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

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

    Mensagem  Noobezinho em Qui 29 Maio 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


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

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

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

    Mensagem  Silvio em Qui 29 Maio 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.
    [Você precisa estar registrado e conectado para ver este link.]

    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

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

    Mensagem  Assis em Qui 29 Maio 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
    Moderador
    Moderador

    Respeito às Regras 100%

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

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

    Mensagem  Noobezinho em Qui 29 Maio 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


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

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

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

    Mensagem  Silvio em Qui 29 Maio 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.
    [Você precisa estar registrado e conectado para ver este link.]

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

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

    Mensagem  Noobezinho em Qui 29 Maio 2014, 21:46

    Ótimo Silvio

    Grande abraço

    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

      Data/hora atual: Sab 10 Dez 2016, 06:54