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]Apagar o mesmo registro em tabelas diferentes.

    avatar
    clemerson
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 84
    Registrado : 28/02/2012

    [Resolvido]Apagar o mesmo registro em tabelas diferentes. Empty [Resolvido]Apagar o mesmo registro em tabelas diferentes.

    Mensagem  clemerson em 5/7/2019, 16:05

    Boa tarde meus amigos.Estou com uma dificuldade e queria a ajuda de vocês.Tenho um banco de dados com duas tabelas que registra itens iguais.Gostaria de poder excluir o registro nas duas tabelas simultaneamente.Estou usando este código abaixo mas só está apagado em uma tabela.

    CurrentDb.Execute "DELETE * FROM DADPROJET WHERE OFICIO IN (SELECT OFICIO FROM MEMOPROJET)"

    Apaga o campo OFICIO em DADPROJET mas não apaga este mesmo campo em MEMOPROJET

    Onde posso estar errando?
    avatar
    renpv
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 188
    Registrado : 12/01/2015

    [Resolvido]Apagar o mesmo registro em tabelas diferentes. Empty Re: [Resolvido]Apagar o mesmo registro em tabelas diferentes.

    Mensagem  renpv em 6/7/2019, 02:54

    Amigo, eu também não conheço uma instrução SQL que apague dados de duas tabelas assim como você quer (uma usando dados da outra).

    Para contornar esse problema eu usaria um recordset para pegar os dados a serem apagados e em seguida usaria SQL para apagar os dados de ambas as tabelas.

    Ex.
    Código:

    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("SELECT OFICIO FROM MEMOPROJET")
    docmd.setwarnings = false
    Do Until rs.EOF = True
       CurrentDb.Execute "DELETE * FROM DADPROJET WHERE OFICIO = " & rs!OFICIO
       CurrentDb.Execute "DELETE * FROM MEMOPROJET WHERE OFICIO = " & rs!OFICIO
       rs.MoveNext
    Loop
    docmd.setwarnings = true

    Se você quer limpar totalmente ambas as tabelas basta executar o comando DELETE sem o WHERE. Tipo assim:
    Código:

    CurrentDb.Execute "DELETE * FROM DADPROJET"
    CurrentDb.Execute "DELETE * FROM MEMOPROJET"

    PS. Não testei o código
    avatar
    clemerson
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 84
    Registrado : 28/02/2012

    [Resolvido]Apagar o mesmo registro em tabelas diferentes. Empty Re: [Resolvido]Apagar o mesmo registro em tabelas diferentes.

    Mensagem  clemerson em 6/7/2019, 15:35

    Valeu por responder meu amigo.Fiz umas correções no teu código "docmd.setwarnings = false" passei para "docmd.setwarnings false" mas continua dando um erro:

    erro 3464:tipos de dados incompatíveis na expressão de critério.

    Coloquei um banco para facilitar.
    Anexos
    [Resolvido]Apagar o mesmo registro em tabelas diferentes. AttachmentDBTESTE.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (50 Kb) Baixado 4 vez(es)
    avatar
    renpv
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 188
    Registrado : 12/01/2015

    [Resolvido]Apagar o mesmo registro em tabelas diferentes. Empty Re: [Resolvido]Apagar o mesmo registro em tabelas diferentes.

    Mensagem  renpv em 6/7/2019, 23:41

    Eu não sabia que o campo era tipo texto. Mas basta mudar essas linhas que dá certo.

    Código:

    CurrentDb.Execute "DELETE * FROM DADPROJET WHERE OFICIO = """ & rs!OFICIO & """"
    CurrentDb.Execute "DELETE * FROM MEMOPROJET WHERE OFICIO = """ & rs!OFICIO & """"
    avatar
    clemerson
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 84
    Registrado : 28/02/2012

    [Resolvido]Apagar o mesmo registro em tabelas diferentes. Empty Re: [Resolvido]Apagar o mesmo registro em tabelas diferentes.

    Mensagem  clemerson em 8/7/2019, 18:58

    Oi amigo,obrigado por ajudar.Não sei se mencionei mas minha intenção é que apague um item específico que está gravado nas duas tabelas.Acontece que este código está apagando tudo.
    avatar
    thiagonsilvaa
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 317
    Registrado : 12/01/2017

    [Resolvido]Apagar o mesmo registro em tabelas diferentes. Empty Re: [Resolvido]Apagar o mesmo registro em tabelas diferentes.

    Mensagem  thiagonsilvaa em 8/7/2019, 19:23

    Boa tarde

    campoX: Altere para o campo que identifica ambos registros

    CurrentDb.Execute "DELETE * FROM DADPROJET WHERE OFICIO = '" & campox & "'"
    CurrentDb.Execute "DELETE * FROM MEMOPROJET WHERE OFICIO = '" & campox & "'"

    OBS: se o campo for numérico utilize aspas duplas ( " ) , se for texto, aspas simples ( ' )

    avatar
    clemerson
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 84
    Registrado : 28/02/2012

    [Resolvido]Apagar o mesmo registro em tabelas diferentes. Empty Re: [Resolvido]Apagar o mesmo registro em tabelas diferentes.

    Mensagem  clemerson em 10/7/2019, 15:59

    Bom dia meu amigo,obrigado por ajudar.Continua dando erro.Coloquei o banco...se puder me ajudar eu agradeço.
    Anexos
    [Resolvido]Apagar o mesmo registro em tabelas diferentes. AttachmentDBTESTE.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (49 Kb) Baixado 3 vez(es)
    avatar
    thiagonsilvaa
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 317
    Registrado : 12/01/2017

    [Resolvido]Apagar o mesmo registro em tabelas diferentes. Empty Re: [Resolvido]Apagar o mesmo registro em tabelas diferentes.

    Mensagem  thiagonsilvaa em 10/7/2019, 18:31

    Boa tarde !

    Estive olhando a base de dados, veja se há possibilidade de relacionar as tabelas, assim facilita a programação.

    Tentei uns testes mas não obtive sucesso, peço para que alguém se possível nos ilumine.

    Abraços.
    avatar
    renpv
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 188
    Registrado : 12/01/2015

    [Resolvido]Apagar o mesmo registro em tabelas diferentes. Empty Re: [Resolvido]Apagar o mesmo registro em tabelas diferentes.

    Mensagem  renpv em 11/7/2019, 01:12

    Veja se assim atende
    Anexos
    [Resolvido]Apagar o mesmo registro em tabelas diferentes. AttachmentDBTESTE.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (34 Kb) Baixado 8 vez(es)
    avatar
    clemerson
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 84
    Registrado : 28/02/2012

    [Resolvido]Apagar o mesmo registro em tabelas diferentes. Empty Re: [Resolvido]Apagar o mesmo registro em tabelas diferentes.

    Mensagem  clemerson em 19/7/2019, 19:21

    Obrigado meus amigos.

    Conteúdo patrocinado

    [Resolvido]Apagar o mesmo registro em tabelas diferentes. Empty Re: [Resolvido]Apagar o mesmo registro em tabelas diferentes.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 17/10/2019, 04:16