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


2 participantes

    evitar duplicações numa 3ª tabela ( De dados do formulário)

    avatar
    JoaoFelix
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5
    Registrado : 16/11/2016

    evitar duplicações numa 3ª tabela ( De dados do formulário) Empty evitar duplicações numa 3ª tabela ( De dados do formulário)

    Mensagem  JoaoFelix 17/11/2016, 13:47

    Boa tarde a todos novamente.
    Tenho um formulário de cadastro de produtos que alimenta a tabela produtos, e ao mesmo tempo cada tabela.
    Para cada campo da tabela produtos tenho uma tabela correspondente com o mesmo nome.

    Private Sub SAVE_RECORD_Click()

    CurrentDb.Execute "INSERT INTO API(API) VALUES('" & Me.API & "')"

    CurrentDb.Execute "INSERT INTO STRENGTH(STRENGTH) VALUES('" & Me.STRENGTH & "')"

    CurrentDb.Execute "INSERT INTO ORIGIN(ORIGIN) VALUES('" & Me.ORIGIN & "')"

    CurrentDb.Execute "INSERT INTO PACKSIZE(PACKSIZE) VALUES(" & Me.PACKSIZE & ")"

    CurrentDb.Execute "INSERT INTO MARKETER(MARKETER) VALUES('" & Me.MARKETER & "')"


    CurrentDb.Execute "UPDATE PRODUCTS SET PRODUCTNAME=[API ] & "" "" & [MARKETER]"


    Me.Refresh

    End Sub


    Desta forma, os registos são enviados para cada uma das tabelas gerando registos repetidos.
    Como é que posso fazer para que apenas haja inserção nas tabelas correspondentes se o registo for diferente e com isto evitar dados repetidos?

    Obrigado a todos.
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    evitar duplicações numa 3ª tabela ( De dados do formulário) Empty Re: evitar duplicações numa 3ª tabela ( De dados do formulário)

    Mensagem  Noobezinho 26/11/2016, 12:26

    Olá João

    Se ainda não conseguiu solucionar tua questão, aqui vai uma sugestão.

    Utilize a função DCount() antes de executar a consulta SQL para cada tabela.

    Dica: coloque um prefixo em cada nome de controle para facilitar o teu e principalmente

    de outros que irão ler o teu código(tbl_API,tbl_Clientes,qry_Clientes,etc)

    Exemplo:

    If Dcount("*","API","[API]=" & Me.API ) = 0 then   '--> se o campo for numérico
    If Dcount("*","API","[API]= '" &  Me.API  & "'") = 0 ' caso seja texto .
    '
     CurrentDb.Execute "INSERT INTO API(API) VALUES('" & Me.API & "')"

    Endif

    Escolha uma das duas frases que começa com If, dependendo o tipo de dados do campo.

    Antes de atualizar, a função irá verifica se já existe o mesmo valor, contando quantos registros tem para esse valor.

    Se for = 0, não tem registro então insere.

    Repita o processo para as outras atualizações.

    [ ]'s


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.

      Data/hora atual: 26/4/2024, 18:09