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


5 participantes

    [Resolvido]Rotina não deleta registro - currentdb execute delete

    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Rotina não deleta registro - currentdb execute delete Empty [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  Silvio 23/1/2016, 14:04

    Prezados colegas, bom dia.


    Tenho a necessidade de excluir registro, com um certo campo em branco, em uma tabela ao pressionar o botão salvar em certo formulário.  A Instrução que eu estou quebrando a cabeça é essa:

    CurrentDb.Execute ("delete * from tblcontatos Where representacao = '" & Forms!frmfornecedor!Representacao & "'" And CodFornecedor Is Null)

    " exclua da tabela contatos onde o nome do fornecedor seja igual ao que esta no formulário e que o campo codfornecedor é vazio"   -> essa é a ideia que eu estou querendo implementar.
    onde:

    a- representacao = campo texto
    b- CodFornecedor = campo numérico

    Simplesmente ele não exclui da tblcontato o registro.

    Grato a todos.
    formiga10x
    formiga10x
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 818
    Registrado : 11/09/2013

    [Resolvido]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  formiga10x 23/1/2016, 15:31

    Já tentou:
    CurrentDb.Execute ("delete * from tblcontatos Where representacao = '" & Forms!frmfornecedor!Representacao & "' And IsNull(CodFornecedor)")


    .................................................................................
    Abraço
    Formiga10x

    Sempre que possível poste o bd ou parte dele, com uma explicação bem clara e objetiva do que quer.
    “Um homem não está acabado quando enfrenta a derrota. Ele está acabado quando desiste - Richard Nixon”
    Formiga10x

    "Lembro do exato momento em que me dei conta que boa parte de minha vida foi dedicada a localizar erros em meus próprios programas."
    - Maurice Vicent Wilkes
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  Silvio 23/1/2016, 16:58

    Boas Formiga...

    Negativo meu amigo...nada de deletar.
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  Silvio 23/1/2016, 17:24

    De uma olhada na imagem abaixo.....


    [img][Resolvido]Rotina não deleta registro - currentdb execute delete 30xivlv[/img]
    formiga10x
    formiga10x
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 818
    Registrado : 11/09/2013

    [Resolvido]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  formiga10x 23/1/2016, 17:35

    A conversão para inteiro do codFornecedor?
    A tabela está relacionada?
    Já viu?


    .................................................................................
    Abraço
    Formiga10x

    Sempre que possível poste o bd ou parte dele, com uma explicação bem clara e objetiva do que quer.
    “Um homem não está acabado quando enfrenta a derrota. Ele está acabado quando desiste - Richard Nixon”
    Formiga10x

    "Lembro do exato momento em que me dei conta que boa parte de minha vida foi dedicada a localizar erros em meus próprios programas."
    - Maurice Vicent Wilkes
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  Silvio 23/1/2016, 17:39

    As tabelas não estão relacionadas não.

    A tabela contato é alimentada com alguns campos, através de um insert into.

    Essa tabela contato, serve de base para catalogo de e-mail´s ( CDOSys ) que o cliente utiliza.

    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  Silvio 23/1/2016, 17:49

    Testei com relacionamentos.....ficou bom claro !
    Mas mesmo assim, eu preciso deletar os fornecedores, que não tem o codfornecedor na tabela contatos.
    Se eu deixar isso, vai ter duplicidade de registros.
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  Lupércio 24/1/2016, 00:51

    Silvio boa noite amigão, como vai?

    Desculpe ai Silvio e a todos, agora o que entendi, o que queres!


    .................................................................................
    Quando tua dúvida for resolvida, de o retorno de agradecimento á aqueles que gastaram seu tempo para te ajudar.
    Clique no botão “Resolvido” logo acima do botão “Enviar” ao lado direito. Todos nós agradecemos.lol!Rolling Eyes
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  Silvio 24/1/2016, 11:15

    Bom dia a todos....


    Lupércio, veja a mensagem de numero um....é o que eu preciso e estou quebrando a cabeça.
    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]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  Assis 24/1/2016, 11:51

    Bom dia amigo
    Pode postar os objectos em causa ?


    .................................................................................
    *** Só sei que nada sei ***
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  Silvio 24/1/2016, 12:24

    Bom dia Assis...

    Vou preparar um exemplo que os dados que cá eu tenho.

    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  Silvio 24/1/2016, 12:45

    Cá está o exemplo.   apenas copiem os dados da tblcontato, evitando de colocar o:
    a- codcliente
    b- codfornecedor.

    Tentem salvar, verão que os que estão sem o: codcliente e codfornecedor ainda ficam na tblcontato ao tentar salvar.
    Esses que contem os campos em brancos, tem que serem excluídos.
    Anexos
    [Resolvido]Rotina não deleta registro - currentdb execute delete AttachmentForum.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (131 Kb) Baixado 16 vez(es)
    gilberlanio
    gilberlanio
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 814
    Registrado : 30/08/2010

    [Resolvido]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  gilberlanio 24/1/2016, 12:57

    Acho que a lógica que está tentando usar não é correta.
    O que você pode fazer é excluir uma linha e não um campo.
    Nessa caso se excluir o campo em branco do do Código do cliente estará exlcuindo automaticamnte o código do fornecedor e vice-versa. É isso mesmo que pretende?

    [url=[Resolvido]Rotina não deleta registro - currentdb execute delete Bx2x4]Imagem[/url]
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  Silvio 24/1/2016, 13:11

    Gilberlânio, bom dia e desde já grato por participar desse tópico.

    Na tabela original, eu tenho mais de 60 contatos sem o codcliente e o codfornecedor.

    Ao alterar e depois salvar, seja o cliente ou o fornecedor, desejo que os campos codcliente e codfornecedor que estão em branco sejam excluídos ficando apenas os registros que estão completos.

    Ou seja, se esses campos codcliente e codfornecedor estiverem em branco, sejam excluídos evitando duplicadas dentro da tblcontatos.
    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]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  Assis 24/1/2016, 13:30

    Silvio

    Na tabela tblcontatos não tem nenhum campo chamado "representacao"

    No formulário "frmfornecedor" o campo parece que se chama "Fornecedor"

    Ou estarei errado ?

    CurrentDb.Execute ("delete * from tblcontatos Where representacao = '" & Forms!frmfornecedor!Representacao & "' And IsNull(CodFornecedor)")


    .................................................................................
    *** Só sei que nada sei ***
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  Silvio 24/1/2016, 14:04

    Assis, acertou em cheio.....

    Que erro primário o meu, estava tão obcecado em representação e nem vi, nem me atinei que o campo era nome.

    Corrigido dessa forma e funfando do jeito que é necessário:

    CurrentDb.Execute ("delete * from tblcontatos Where nome= '" & Forms!frmfornecedor!Representacao & "' And IsNull(CodFornecedor)")

    Agora sim, ele deleta a linha onde o codfornecedor ou codcliente está em branco

    Fica aqui, registrado os meus agradecimentos a todos que me ajudaram a resolver esse tópico.

    Abraços.
    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]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  Assis 24/1/2016, 14:12

    Obrigado pelo retorno Amigão

    Fico contente por ter ajudado .....

    Mas onde está este campo no formulário "Forms!frmfornecedor!Representacao"

    Não será  .... Forms!frmfornecedor!Fornecedor . aonde esta o nome ?

    [Resolvido]Rotina não deleta registro - currentdb execute delete Xarxuo


    .................................................................................
    *** Só sei que nada sei ***
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  Silvio 24/1/2016, 16:19

    Boa noite e boa tarde...

    Desculpe a demora em responder, mas estava a almoçar com a família.

    Assis, veja a rotina de exportação quando se clicar em salvar.
    'aqui faço a inserção do e-mail do fornecedor na tblcontatos
       Dim db1 As Database, rs1 As DAO.Recordset
       Set db1 = CurrentDb
       Set rs1 = db1.OpenRecordset("tblcontatos")
       With rs1
       ' os campos abaixo do formulário tem que ser iguais aos que estão na tabela para realizar a exportação
       .AddNew
       ' campos que estão na tabela = campos do fomulario
       ![CodFornecedor] = Me.CodFornecedor
      ![Nome] = Me.Fornecedor
       ![Email] = Me.Email
       ![Grupo] = "Profissional"
       .Update
       End With
       End If

    Eu não alterei as propriedades do campo na aba outras, permanecendo como estava. Peguei o projeto para melhorar de um cliente novo.

    Conteúdo patrocinado


    [Resolvido]Rotina não deleta registro - currentdb execute delete Empty Re: [Resolvido]Rotina não deleta registro - currentdb execute delete

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 21/11/2024, 20:16