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]Editar um subformulario relacionado ao formulario principal

    Compartilhe

    janiomjunior
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 19
    Registrado : 19/07/2017

    [Resolvido]Editar um subformulario relacionado ao formulario principal

    Mensagem  janiomjunior em 17/4/2018, 19:32

    Ola Pessoal,
    Acredito que o meu problema é simples, porém eu não consigo ver uma solução. Tenho um formulário chamado Form_NCxFrm que está relacionado a uma tabela Tbl_NCxFrm (com chave primaria Numcx). Esse formulário possui um subformulário relacionado a outra tabela Tbl_SformFrm (com duas chaves Numcx e CodFerr).
    O formulário serve para cadastrar uma caixa de ferramenta e o subformulário serve para definir as ferramentas da caixa. Quando estou cadastrando sempre novas caixas eu não encontro nenhum problema, porém, quando eu tento adicionar mais ferramentas a caixas previamente cadastradas eu encontro o problema de que o Access tenta escrever novamente o nome NumCx na tabela Tbl_NCxFrm ao qual é chave primária. Eu consigo consultar as caixas de ferramentas e consequentemente eu vejo as ferramentas delas no subformulário, no entanto, quando trago o foco do mouse para o subfomrulário o access tenta reescrever a caixa selecionada e apresenta o erro de chave duplicada.

    ALguma ajuda?

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Editar um subformulario relacionado ao formulario principal

    Mensagem  Noobezinho em 18/4/2018, 21:15

    Janio


    Creio ser problema de relacionamento que é de 1 pra n(muitos).

    Veja que na tabela Tbl_SformFrm tem duas chaves(Numcx e CodFerr) .

    Na realidade essa segunda tabela, não precisa de chaves e nem auto numeração.

    Os dois campos de código devem ser número-inteiro longo.

    Então irá funfar legal.

    Veja que Numcx já é chave na tabela principal (Tbl_NCxFrm )

    e CodFerr também é na tabela de ferramentas.

    Acerte  a propriedade da caixa subformulário( a que envolve o subformulário) e deixe

    os campos Vincular Campos Mestres e filhos= NumCx

    [ ]'s

    janiomjunior
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 19
    Registrado : 19/07/2017

    Re: [Resolvido]Editar um subformulario relacionado ao formulario principal

    Mensagem  janiomjunior em 19/4/2018, 15:36

    A tabela do formulário principal é Tbl_NCxFrm com chave principal tipo texto campo NumCx e que se relaciona (1 para N) com a tabela do subformulário Tbl_SFormFrm através do campo NumCx que também é texto (lembrando que ela não esta mais definida como chave na tabela do subformulario....a chave da tabela do subfomrulario é CodFerr que também é campo de texto. Só funcionaria se a chave primaria (campo Numcx) da tbl_NCxFrm relacionada com o campo NumCX fossem inteiros-longos?

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Editar um subformulario relacionado ao formulario principal

    Mensagem  Noobezinho em 19/4/2018, 19:11


    A resposta para tua pergunta é não, porque utilizo campo tipo texto para código de cliente que é

    relacionado a contratos que por sua vez é relacionado com parcelas.

    Poste parte do teu aplicativo com objetos afins e 2 ou 3 registros fictícios pra a gente analisar.






    janiomjunior
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 19
    Registrado : 19/07/2017

    Re: [Resolvido]Editar um subformulario relacionado ao formulario principal

    Mensagem  janiomjunior em 20/4/2018, 15:08

    [Você precisa estar registrado e conectado para ver este link.]

    Amigos, eu consegui resolver o problema criando uma outra tabela para ser gravada apenas com botão salvar. A tabela do formulário grava os dados temporários quando estamos criando ou editando as caixas no formulário e ela é esvaziada sempre que aperto o botão sair. Eu não gostei dessa solução e gostaria da opinião dos amigos.

    Acima temos o link com o banco de dados. O formulário que esta apresentando o problema é o Form_NCxFrm.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Editar um subformulario relacionado ao formulario principal

    Mensagem  Noobezinho em 20/4/2018, 15:36

    Reveja teus relacionamentos.

    Estude mais sobre eles, isso é muito importante.


    Veja a imagem:

    [Você precisa estar registrado e conectado para ver esta imagem.]

    A tabela principal tem que tem que estar com o código do produto principal, e é chave primaria.

    a sub tabela como chamou, tem que ter o código da tabela principal -> número - inteiro longo.

    Assim o relacionamento é de 1 (Tbl_NCxFrm) para (n) vários registros na segunda tabela (Tbl_SformFrm)

    As demais tabelas não precisam de relacionamento já que pode-se usar uma caixa de combinação no formulário

    para escolher os registros das mesmas.

    [ ]'s


    janiomjunior
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 19
    Registrado : 19/07/2017

    Re: [Resolvido]Editar um subformulario relacionado ao formulario principal

    Mensagem  janiomjunior em 23/4/2018, 11:13

    Muito obrigado aos amigos pela ajuda.

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Editar um subformulario relacionado ao formulario principal

    Mensagem  Noobezinho em 23/4/2018, 11:23


    Ótimo que resolvemos!

    Boa sorte!

      Data/hora atual: 18/11/2018, 19:13