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

    Falha de relacionamento com integridade referencial em campos String

    avatar
    wyss2000
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 05/06/2011

    Falha de relacionamento com integridade referencial em campos String Empty Falha de relacionamento com integridade referencial em campos String

    Mensagem  wyss2000 3/5/2015, 00:54

    Prezados, estou aqui novamente pra pedir ajuda,

    Estou ajustando alguns relacionamentos de meu aplicativo da forma abaixo:
    Requisições -> Itens (integridade referencial para atualização e exclusão):
    - Nem toda requisição precisa possuir um item;
    - Todos os itens devem estar vinculados obrigatoriamente a uma requisição existente na tabela Requisições;
    Pedidos -> Itens (integridade referencial para atualização somente):
    - Nem todo pedido precisa possuir um item;
    - Nem todo item precisa possuir um pedido mas caso possua este deve estar vinculado a um pedido existente na tabela Pedidos;
    Processo -> Itens (integridade referencial para atualização somente):
    - Nem todo processo precisa possuir um item;
    - Nem todo item precisa possuir um processo mas caso possua este deve estar vinculado a um processo existente na tabela Processos.

    Os campos chave Requisição e Pedido são do tipo numérico e eu consegui impôr a integridade referencial normalmente porém, o campo Processo é do tipo String, e neste caso, eu só consigo fazer um relacionamento simples, sem integridade. Na verdade, eu até consigo fazer a integridade, porém não posso deixar nenhum dos registros da tabela Itens com o campo Processo vazio.

    Simplificando: 1 requisição está vinculada a vários itens que podem ou não estar vinculados a algum processo ou a algum pedido como abaixo:
    Requisição / Item / Processo / Pedido
    3000076258 / 1 / PE.CSCS.A.00059.2013 / 8000006698
    1100000570 / 1 / PE.CSCS.A.00059.2014 /
    3000113974 / 7 /                                 /

    Alguém aí entendeu minha dúvida e pode me ajudar? Estou tentando melhorar os relacionamentos para aumentar a segurança do BD para evitar registros órfãos e melhorar a velocidade das consultas mas caso o campo String não permita isto eu vou acabar perdendo a modificação em cascata da tabela Processos.

    Conto com vocês. Obrigado.
    cleverson_manaus
    cleverson_manaus
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 23/09/2011

    Falha de relacionamento com integridade referencial em campos String Empty Re: Falha de relacionamento com integridade referencial em campos String

    Mensagem  cleverson_manaus 3/5/2015, 03:23

    Cria um campo Tipo número, apenas para fazer o relacionamento com integridade e mantém o campo String.


    .................................................................................
    afro

    "É fazendo que se aprende a fazer aquilo que se deve aprender a fazer."(Aristóteles)
    - Dúvida resolvida!!! Marcar o tópico como resolvido!!!
    avatar
    wyss2000
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 05/06/2011

    Falha de relacionamento com integridade referencial em campos String Empty Re: Falha de relacionamento com integridade referencial em campos String

    Mensagem  wyss2000 3/5/2015, 14:23

    Ao colocar um campo Num a integridade será dada neste campo e se alguém modificar o número do processo de "PV.DSUC.A.00001.2015" para "PE.DSUC.A.00001.2015" por exemplo a String ficará correta na tabela Processos mas incorreta nos Itens.

    Como meu BD trabalha na rede para várias pessoas eu vou amadurecer um pouco mais esta sua idéia, acho que ela vai ser de grande ajuda já que o acesso do Access a campos numéricos é muito mais otimizado do que a campos texto.

    Caso alguém consiga descobrir uma resposta para a minha dúvida "porque o campo String não aceita integridade como o campo Num" eu também agradeceria muito.

    Obrigado pelo apoio.
    cleverson_manaus
    cleverson_manaus
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 23/09/2011

    Falha de relacionamento com integridade referencial em campos String Empty Re: Falha de relacionamento com integridade referencial em campos String

    Mensagem  cleverson_manaus 3/5/2015, 16:52


    Entendo seu problema.

    Tive uma situação parecida, tive que popular as tabelas secundárias com o novo ID numérico da tabela primária.

    Primeiro cria o campo auto-numeração para tabela primária, em seguida criei o campo correspondente nas tabelas secundárias e sem seguida uma consulta atualização para incluir os id's das tabelas secundárias.

    Claro que isso na mão, mas com a ajuda do fórum e acho que existem existem exemplos que simplifiquem esse procedimento via SQL & VBA.

    Abraços,


    .................................................................................
    afro

    "É fazendo que se aprende a fazer aquilo que se deve aprender a fazer."(Aristóteles)
    - Dúvida resolvida!!! Marcar o tópico como resolvido!!!
    avatar
    wyss2000
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 05/06/2011

    Falha de relacionamento com integridade referencial em campos String Empty Re: Falha de relacionamento com integridade referencial em campos String

    Mensagem  wyss2000 4/5/2015, 12:17

    Tô pensando em fazer isto mesmo, pegar todas as minhas tabelas que possuem campo chave com String e inserir um campo AutoNum e depois atualizar nas tabelas dependentes.

    Vou deixar o tópico aberto mais um pouco pra ver se alguém aparece com a resposta à dúvida.

    Valeu!

      Data/hora atual: 3/12/2022, 05:24