MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Excluir registro após cadastro em tabela

    Compartilhe

    werlewow
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 09/10/2017

    [Resolvido]Excluir registro após cadastro em tabela

    Mensagem  werlewow em Seg 30 Out 2017, 13:26

    Bom dia, sou iniciante em access e VBA. tenho uma tabela que me informa os clientes que pararam de comprar nos últimos 30 dias. Criei um formulário no qual o usuário pode "enviar" o registro para uma tabela de contato, ou ignorar. Ja consegui por meio de VBA fazer o formulário preencher a tabela, porem ele não some do formulário. Gostaria que após apertar o botão de cadastro, ele sumisse, e fosse para o próximo. Favor me explicar bem passo a passo, sou bem iniciante.

    Segue cod em SQL para cadastrar os clientes do formulário na tabela de contato.

    Private Sub Contatar_Click()

    If Me.Comando_15 = True Then
           SQL = "INSERT INTO  tb_contato(Nome_Cliente,Data_Registro,Motivo_Contato,Nome_Contato,TEL) VALUES ('" & Me.CLIENTE_NOME.Value & "',#" & Now() & "#,'parou de comprar','" & Me.CLIENTE_CONTATO.Value & "','" & Me.CLIENTE_TELEFONE.Value & "')"

              CurrentDb.Execute SQL
       MsgBox ("Cliente foi enviado para contato com sucesso!"), vbinformations + vbOKOonly, "Contatar"
       End If
    End Sub


    Obrigado
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 524
    Registrado : 18/01/2013

    Re: [Resolvido]Excluir registro após cadastro em tabela

    Mensagem  CassioFabre em Seg 30 Out 2017, 17:23

    Boa tarde,

    Suponho que esteja trabalhando com formulário desacoplado. Neste caso, voce terá que limpar os campos manualmente. Coloque no topo do seu formulário , abaixo do option, a função:

    Código:
    Private Sub limpaCampos
        Dim ctl As Control
       
        For Each ctl In Me.Controls
            If TypeOf ctl Is TextBox Then
                ctl = ""
            End If
        Next
    End sub

    Esta função faz com que os campos do tipo texto sejam limpos. No clique do botao, coloque
    Código:
    Private Sub Contatar_Click()

    If Me.Comando_15 = True Then
          SQL = "INSERT INTO  tb_contato(Nome_Cliente,Data_Registro,Motivo_Contato,Nome_Contato,TEL) VALUES ('" & Me.CLIENTE_NOME.Value & "',#" & Now() & "#,'parou de comprar','" & Me.CLIENTE_CONTATO.Value & "','" & Me.CLIENTE_TELEFONE.Value & "')"

              CurrentDb.Execute SQL
      MsgBox ("Cliente foi enviado para contato com sucesso!"), vbinformations + vbOKOonly, "Contatar"
      call limpaCampos
      End If
    End Sub

    Abraço.


    .................................................................................
    Só não tem código pra morte!

    werlewow
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 09/10/2017

    Re: [Resolvido]Excluir registro após cadastro em tabela

    Mensagem  werlewow em Seg 30 Out 2017, 17:51

    nao deu certo, ele salva corretamente mas logo após aparece uma sms "este recordset nao pode ser atualizado" . Ao clicar em depurar ele abre o VBA e destaca essa parte: ctl = ""
    Segue em anexo.
    Obrigado
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 524
    Registrado : 18/01/2013

    Re: [Resolvido]Excluir registro após cadastro em tabela

    Mensagem  CassioFabre em Seg 30 Out 2017, 18:06

    Boa tarde,

    O anexo não veio.

    Abraço.


    .................................................................................
    Só não tem código pra morte!

    werlewow
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 09/10/2017

    Re: [Resolvido]Excluir registro após cadastro em tabela

    Mensagem  werlewow em Seg 30 Out 2017, 18:25

    Nao estava conseguindo anexar, mas enfim, o erro é aquele que expliquei. Lembrando que nao quero apenas limpar o campo, quero excluir o registro do formulário (que esta buscando as info de uma consulta)
    Obrigado
    Anexos
    de.png
    Você não tem permissão para fazer download dos arquivos anexados.
    (115 Kb) Baixado 4 vez(es)
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 524
    Registrado : 18/01/2013

    Re: [Resolvido]Excluir registro após cadastro em tabela

    Mensagem  CassioFabre em Seg 30 Out 2017, 18:51

    Boa tarde,

    Explique melhor exatamente o que pretende fazer e de onde quer excluir os registros, passo a passo.

    Abraço.


    .................................................................................
    Só não tem código pra morte!

    werlewow
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 09/10/2017

    Re: [Resolvido]Excluir registro após cadastro em tabela

    Mensagem  werlewow em Seg 30 Out 2017, 19:09

    Vamos la, tenho um formulário que é alimentado por uma consulta, ou seja, ninguém vai cadastra-lo. Esse formulário me informa quando um cliente esta sem comprar a mais de 30 dias, ou seja, é atualizada automaticamente e a função do usuário é sempre contatar o cliente. Dessa forma, gostaria de um botão que eu apertasse e enviasse esse cliente para uma tabela de contato, que futuramente irei criar um novo formulário a partir dela. Enfim, já consegui criar o botão de cadastro, como mandei o código acima, o problema é que esta tabela, como ja havia dito, deve sempre ficar vazia, pois assim que um cliente entra nela, o usuário ja deve mandar para a tabela de contato, ou inativar o cliente, jogando para uma nova tabela ou ainda ignora-lo, para que continue ali e me notifique em mais 30 dias. Dessa forma, quando clico no botão de contatar o cliente realmente vai para a tabela desejada, porem continua nesse formulário. Meu objetivo é que ele saia dali, assim que eu ignorei, inativei ou contatei o cliente. A opção ignorar até poderia mante-lo ali, para que faça um contato daqui 30 dias... ja tentei criar um botão de delete, mas nao fui feliz.

    Segue em anexo tentativa que nao deu certo de criar um botão delete, mesmo nao sendo a solução mais coerente.
    *obs: dei enter no meio da função apenas para caber na foto

    Muito Obrigado
    Anexos
    del3.JPG
    Você não tem permissão para fazer download dos arquivos anexados.
    (23 Kb) Baixado 2 vez(es)

    werlewow
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 09/10/2017

    Re: [Resolvido]Excluir registro após cadastro em tabela

    Mensagem  werlewow em Seg 30 Out 2017, 19:11

    Ali na foto foi errado da onde tem q apagar, na vdd é FROM "W_3001_clientes_não_compraram"

    Já que o valor vem de uma consulta

    mas mesmo assim nao deu certo.

    Obrigado
    avatar
    CassioFabre
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 524
    Registrado : 18/01/2013

    Re: [Resolvido]Excluir registro após cadastro em tabela

    Mensagem  CassioFabre em Ter 31 Out 2017, 09:38

    Bom dia,

    Então amigo, se entendi bem, voce está olhando de uma ótica errada. Como seu form é baseado numa consulta, voce tem que "excluir" o registro de uma determinada tabela, e não da consulta, já que esta é basicamente apenas uma junção de dados armazenados numa ou mais tabelas relacionadas seguindo determinados critério (clientes inativos há mais de 30 dias, como é o seu caso, por exemplo).

    Então minha sujestão é que voce crie, na tabela que dá origem à sua consulta, um campo 'ultimocontato' e outro 'ultimavenda' do tipo Date. No criterio da sua consulta voce vai pegar apenas os clientes que tiveram a ultima venda há mais de trinta dias E o ultimo contato há mais de 30 dias.

    Quando um determinado cliente atender a esses dois critério simultaneamente, jogue-o na tabela de contato (esta que voce ainda vai criar) e, ao mesmo tempo, o campo "ultimocontato" voce preenche com a data do contato. Isso fará com que automaticamente ele nao apareça mais na consulta, pois não atenderá ao segundo critério.

    Caso, antes de completar 30 dias do ultimo contato o cliente realize uma compra, preencha na tabela a data da venda no respectivo campo. Neste caso, o cliente também não aparecerá mais na sua consulta pois não atenderá ao primeiro critério.

    Entenda a ideia do que quis dizer, os códigos pra realizar voce pode encontrar aqui no fórum mesmo.

    Abraço.


    .................................................................................
    Só não tem código pra morte!

    werlewow
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 22
    Registrado : 09/10/2017

    Re: [Resolvido]Excluir registro após cadastro em tabela

    Mensagem  werlewow em Seg 06 Nov 2017, 18:49

    Deu certinho! muito obrigado

      Data/hora atual: Sab 18 Nov 2017, 08:10