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 registros de uma Tabela baseado em registros de outra tabela

    Compartilhe

    ajcdobr
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 15/07/2012

    Excluir registros de uma Tabela baseado em registros de outra tabela

    Mensagem  ajcdobr em 20/8/2013, 13:17

    Caros, Bom Dia !!!.

    Como faço para excluir dados de uma Tabela com base de registro de outra Tabela

    Eu explico melhor, tenho duas tabelas, CadMatriculas e CadFuncionarios, com os Campos de nome Matricula igual para as duas e relacionados.

    Eu gostaria de fazer um Consulta Exclusão na tabela CadFuncionarios baseado nos registros iguais e existentes da Tabela CaMatricula.

    Alguém pode me dar alguma dica¿, já que nas vezes que tentei não obtive sucesso, pois o Access me da a mensagem dizendo que devo informar a Tabela a ser deletada os registros, e a mesma já esta informada dentro dos parâmetros da Consulta.

    Sds,

    Antonio.
    avatar
    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Excluir registros de uma Tabela baseado em registros de outra tabela

    Mensagem  criquio em 20/8/2013, 13:42

    Você pode tentar em um botão de um formulário, aonde o registro da tabela principal esteja aberto:

    Código:
    CurrentDb.Execute "DELETE * FROM NomeTabela WHERE CampoDaTabela=" & Me.CampoDoForm & ""
    No caso, estou considerado que irá pegar como base a chave primária da tabela principal com uma chave estrangeira da segunda tabela.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    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.


    ajcdobr
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 15/07/2012

    Re: [Resolvido]Excluir registros de uma Tabela baseado em registros de outra tabela

    Mensagem  ajcdobr em 20/8/2013, 14:46

    Criquio,

    Bom Dia,

    Seguindo a sua orientação, criei um formulario abrindo a tabela principal, CadFuncionarios, com todos os campos, e adicionei um Botao, e no Botao, na opçao ao clicar digitei :

    Private Sub Comando26_Click()
    CurrentDb.Execute "DELETE * FROM Teste WHERE Matricula =" & Me.MATRICULA & ""
    End Sub

    Porem não acontece nada, não apresenta nem mensagem de erro.

    Terei errado em alguma coisa?

    Aproveito tambem para te perguntar se e possivel efetuar tal exclusão via Consulta com instruções SQL?

    Grato.

    Antonio

    ajcdobr
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 20
    Registrado : 15/07/2012

    Re: [Resolvido]Excluir registros de uma Tabela baseado em registros de outra tabela

    Mensagem  ajcdobr em 21/8/2013, 13:48

    Caros Amigos,

    Bom Dia !!!,]

    Consegui solucionar meu problema, de tanto fuçar por aqui, misturei uma instrução que J.Paulo havia passado para solucionar um problemas parecido, com instruções SQL do proprio Access e deu certo a Consulta Exclusão que eu pretendia fazer.

    Posto aqui a solução (não sei se esta bem correta, mas funcionou)

    DELETE CadFuncionarios.*
    FROM CadFuncionarios
    WHERE EXISTS (
    SELECT *
    FROM CadMatricula
    WHERE CadMatricula.Matricula = CadFuncionarios.Matricula
    );

    Grato,

    Antonio

    RoseCampos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 1
    Registrado : 22/04/2016

    Re: [Resolvido]Excluir registros de uma Tabela baseado em registros de outra tabela

    Mensagem  RoseCampos em 19/9/2017, 15:11

    Obrigada Criquio!
    Esse código salvou minha vida!

      Data/hora atual: 15/11/2018, 04:54