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

    [Resolvido]Atualização entre tabelas vinculadas

    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 154
    Registrado : 14/12/2012

    [Resolvido]Atualização entre tabelas vinculadas Empty [Resolvido]Atualização entre tabelas vinculadas

    Mensagem  Josealdo 25/11/2015, 23:54

    Olá pessoal.
    Estou precisando de uma ajuda.  Tenho 2 tabelas vinculadas, vamos chamar de tabela "A" e "B".
    As tabelas são preenchidas via formulário.   Alguns campos da tabela "A" são carregados em "B" no momento do preenchimento quando o campo com a chave primaria de "A" é carregado.

    Mais o que acontece? Há um campo em "A" que não é obrigatório e no momento do preenchimento dos dados em "B" este não será carregado.

    Mas o que preciso?  Que este campo em algum momento quando a tabela "A" for editada e ele for completado, que também seja atualizado na tabela "B"

    Não sei se ficou claro. Aguem pode ajudar? Por favor.
    Maicon
    Maicon
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 255
    Registrado : 08/09/2012

    [Resolvido]Atualização entre tabelas vinculadas Empty Re: [Resolvido]Atualização entre tabelas vinculadas

    Mensagem  Maicon 26/11/2015, 05:23

    Tá um pouco confuso , vamos esclarecer umas coisas a primeira é a seguinte  : Na tabela A os campos não obrigatórios não são preenchidos no primeiro momento porquê as informações não estão disponíveis ? caso negativo, ou seja as informações estão disponíveis no momento da inserção dos dados então podes simplesmente colocar nas propriedades do campo requerido= sim. ( Este acho mais fácil caso o processo de trabalho permita.) Outra forma é agrupar os campos da outra tabela e quando o usuário chegar ao campo , podes usar uma msgbox ou botão ou link para retornar ao formulário da tabela A já filtrado para que o registro seja editado.
    Caso poste o exemplo fica mais fácil ajudar.
    Talvez o exemplo abaixo te ajude : https://www.maximoaccess.com/t2755-inserir-dados-em-tabelas-com-campos-relacionais-por-formularios
    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 154
    Registrado : 14/12/2012

    [Resolvido]Atualização entre tabelas vinculadas Empty Re: [Resolvido]Atualização entre tabelas vinculadas

    Mensagem  Josealdo 26/11/2015, 07:22

    A condição é a do primeiro caso que vc citou. Nem todos os dados estão disponíveis no primeiro momento, é parte do processo.

    Quando os dados de "A" já estão disponíveis então eles são carregados em "B" durante o preenchimento do formulário.

    O Problema é que "A" tem acesso restrito(acesso por nível), então quando o registro em "A" é editado o campo que também pertence a "B" fica sem atualização(em vazio)

    Vou verificar os exemplos e depois eu comento. Mas por enquanto obrigado.
    Noobezinho
    Noobezinho
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Atualização entre tabelas vinculadas Empty Re: [Resolvido]Atualização entre tabelas vinculadas

    Mensagem  Noobezinho 26/11/2015, 10:13

    Josealdo

    No primeiro momento em que se preenche os dados, é o cadastro de um novo registro,certo?
    Já na segunda vez, é uma edição desse registro.

    Se for isso, na abertura do formulário,utilize:

    if not Me.NewRecord then ...
      libere aqui os controles para edição

    endif

    Ou seja, se for edição e não cadastro, irá liberar os demais campos que deseja.

    Você escreveu:

    "O Problema é que "A" tem acesso restrito(acesso por nível), então quando o registro em "A" é editado o campo que também pertence a "B" fica sem atualização(em vazio)"

    Claro que o mesmo campo do formulário "B" não será preenchido, precisa fazer isso via código VBA.
    O fato de haver uma Relação entre as tabelas, não quer dizer que os mesmo campos serão atualizados.
    O que o Access faz é:
    Quando se cria um novo registro na tabela "A", o campo do relacionamento (geralmente o código) é  adicionado na
    tabela "B".
    Geralmente os campos da tabela "A"  são diferente da tabela "B", a exemplo disse veja uma tabela de vendas, onde tem os dados
    da vendas e a tabela detalhes Vendas tem aos dados dos produtos vendidos. O único campo igual nas duas tabelas é o
    código da venda, que une as duas tabelas.

    Se o formulário "B" é aberto apenas pelo formulário "A", pode tirar as restrições dele, pois ninguém terá acesso ao mesmo, certo?
    Somente que utiliza o formulário "A", terá acesso ao "B".

    Tudo isso que escrevi, foi deduzido pelo que escreveu, sem conhecer de fato o funcionamento do aplicativo.

    [ ]'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.
    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 154
    Registrado : 14/12/2012

    [Resolvido]Atualização entre tabelas vinculadas Empty Re: [Resolvido]Atualização entre tabelas vinculadas

    Mensagem  Josealdo 27/11/2015, 10:31

    Noobezinho, vou tentar explicar melhor abaixo, mas tá bem parecido com o que vc escreveu.

    exemplo hipotetico:
    Tabela "A" vinculada com "B"
    Campos em A:
    A1(obrigatório) - Campo chave
    A2(obrigatório
    )
    A3

    Campos em B:
    B1(obrigatório)
    B2(obrigatório)

    A1(vem de A) - Campo chave - Obrigatório em "B"
    A2(vem de A)
    A3(Vem de A)

    Os dados são inseridos em ambos os caso, via formulario, porém o usuário que entra com o dados em "B" não tem
    acesso a "A".

    O usuário de "B" ao criar o registro puxa as informações de "A" através do campo A1 que é a chave primaria.
    Vc havia me perguntado:  "Se havia então uma edição de B". Não não há edição de "B". Faz parte do processo uma
    preenchido os dados em "B", então "B" finalizado.

    O que ocorre: Tambem faz parte do processo que o campo A3 em "A" não é obrigatório, pois a casos em que a informação
    não existe. E em alguns caso ele vai aparecer mais na frente no processo. Então é ai que mora a minha necessidade.
    Pois quando A3 é editado a informação fica somente na tabela "A", porem não tem a informação em A3 na tabela "B"

    Tomara que eu tenha conseguido explicar, e já agradeço antecipadamente se puder me ajudar.
    Noobezinho
    Noobezinho
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Atualização entre tabelas vinculadas Empty Re: [Resolvido]Atualização entre tabelas vinculadas

    Mensagem  Noobezinho 27/11/2015, 10:52

    Creio que estou entendendo

    Esses formulários das tabelas a e b estão separados.


    Mas o que preciso?  Que este campo em algum momento quando a tabela "A" for editada e ele for completado, que também seja atualizado na tabela "B"

    Na propriedade Ao sair dessa caixa de texto, deverá fazer uma consulta atualização.

    if Not Isnull(me.CampoDesconhecido) then

      Docmd.RunSQL "UPDATE ....."

    End If

    Dica: faça a consulta atualização e copie  o texto SQL para o VBA.

    Como está fazendo a obrigatoriedade desses campos?


    .................................................................................
    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.
    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 154
    Registrado : 14/12/2012

    [Resolvido]Atualização entre tabelas vinculadas Empty Re: [Resolvido]Atualização entre tabelas vinculadas

    Mensagem  Josealdo 4/12/2015, 22:08

    Sim, os formulários de "A" e "B" estão separados.

    Mas agora quando vc falou que no momento em que a atualizar o campo em "A", e que o mesmo seja atualizado em "B" através de uma consulta e não ação do campo, então recordei de uma situação.

    Nem sempre existe a informação de "B", mesmo assim vai funcionar? Se sim, da forma que vc explicou acredito ser o caminho.
    Noobezinho
    Noobezinho
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Atualização entre tabelas vinculadas Empty Re: [Resolvido]Atualização entre tabelas vinculadas

    Mensagem  Noobezinho 4/12/2015, 22:17

    Mais uma pergunta.

    Os dois formulários estão abertos?



    .................................................................................
    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.
    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 154
    Registrado : 14/12/2012

    [Resolvido]Atualização entre tabelas vinculadas Empty Re: [Resolvido]Atualização entre tabelas vinculadas

    Mensagem  Josealdo 5/12/2015, 09:10

    Não, os formulários não estão abertos, porque há restrição. O Usuário que coloca a informação em "B", não tem acesso a "A".
    Noobezinho
    Noobezinho
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Atualização entre tabelas vinculadas Empty Re: [Resolvido]Atualização entre tabelas vinculadas

    Mensagem  Noobezinho 5/12/2015, 10:35

    Josealdo

    Então é isso, faça a consulta atualização e na grade da consulta, na linha de critério da consulta
    na coluna do campo onde quer colocar o valor coloque:

    = Forms!FormuláriosA!Nomecampo

    Teste a consulta, se funfar, mude ela para expressão SQL , copie e cole

    no evento Ao sair da textbox.




    .................................................................................
    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.
    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 154
    Registrado : 14/12/2012

    [Resolvido]Atualização entre tabelas vinculadas Empty Re: [Resolvido]Atualização entre tabelas vinculadas

    Mensagem  Josealdo 5/12/2015, 11:13

    Ok. Blz vou fazer como falou. Apenas complementando.

    Abaixo tá o código em "B" que puxa as informações de "A". O que eu tinha pensado e é bem parecido com o que vc ta me falando, é ó código ao contrario, ou seja.: ao preencher o campo chave em "A" ele verificar se já existe registro em "B" se sim ele atualizar.

    Codigo atual no formulario da tabela "B"


    Private Sub nrDocumento_AfterUpdate()
    Me.Forn_Nome.value = Me.nrDocumento.Column(1)
    Me.Forn_Nome.Requery
    Me.Id_DUNS = Me.nrDocumento.Column(2)
    Me.Id_DUNS.Requery
    Me.PRR = Me.nrDocumento.Column(3)
    Me.PRR.Requery
    Me.Id_Peca_Origem = Me.nrDocumento.Column(4)
    Me.Id_Peca_Origem.Requery
    End Sub
    Noobezinho
    Noobezinho
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Atualização entre tabelas vinculadas Empty Re: [Resolvido]Atualização entre tabelas vinculadas

    Mensagem  Noobezinho 5/12/2015, 11:20

    Isso mesmo.

    If not isnul(me.Nomecampo) then

    docmd.RunSQL "UPDATE..."

    End If


    .................................................................................
    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.
    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 154
    Registrado : 14/12/2012

    [Resolvido]Atualização entre tabelas vinculadas Empty Re: [Resolvido]Atualização entre tabelas vinculadas

    Mensagem  Josealdo 5/12/2015, 15:10

    Noobezinho, estava pensando aqui. Como nem sempre será aberto o formulário "B" para que seja feita a atualização. Acho que ficaria mais fácil sem ser em nenhum formulario, mas sim em um botão que ao clicar nele atualizar a tabela de "B" o que vc acha?
    Noobezinho
    Noobezinho
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Atualização entre tabelas vinculadas Empty Re: [Resolvido]Atualização entre tabelas vinculadas

    Mensagem  Noobezinho 5/12/2015, 16:01

    Veja que o dado da caixa de texto do formulário A irá atualizar

    a tabela B, estando o formulário B aberto ou não.

    Quanto a tua ideia, se não tem formulário, onde vai ficar esse botão?


    .................................................................................
    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.
    avatar
    Josealdo
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 154
    Registrado : 14/12/2012

    [Resolvido]Atualização entre tabelas vinculadas Empty Re: [Resolvido]Atualização entre tabelas vinculadas

    Mensagem  Josealdo 4/2/2021, 14:49

    ok. Obrigado

      Data/hora atual: 16/6/2021, 14:24