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


3 participantes

    [Resolvido]Relacionamento entre tabelas II A missão

    avatar
    NarcisoRN
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 83
    Registrado : 26/07/2011

    [Resolvido]Relacionamento entre tabelas II A missão Empty Relacionamento entre tabelas II A missão

    Mensagem  NarcisoRN 21/9/2011, 00:24

    Pessoal,

    Estou desenvolvendo um pequeno sistema de ordens de serviços, e estou tendo dificuldades

    na hora de fazer os relacionamentos entre 3 tabelas. As tabelas são:

    Clientes
    - CodCli (Ch pri)
    .

    Equipamentos
    - CodEquip (Ch pri)
    - CodCli
    .

    Peças (Campo CodPeca Chave Pri)
    - CodPeca (Ch pri)
    - CodEquip

    Bom...como eu pensei em fazer os relacionamentos.

    Cada Cliente pode ter mais de um equipamento (PC, Notebook...etc), então a tabela Clientes

    seria relacionada com a tabela Equipamentos em 1 para N ja que apenas 1 Equipamento so

    pode ser de apenas 1 Cliente.

    Cada Equipamento, pode ter mais de uma peça com defeito, então a tabela Equipamento se

    relaciona com a tabela de peças em 1 para N já que cada peça so pode ser de um

    equipamento.

    Imaginei então que eu teria dois relacionamentos de 1 para N
    Clientes 1 - N Equipamentos 1 - N Peças. OPA!!! Se a tabela Equipamentos é o lado N do

    primeiro relacionamento, como ela poderia ser o lado 1 do segundo relacionamento? Aqui é

    onde fica minha duvida. O que vocÊs me dizem?

    Minha intenção era criar um formulario para cadastrar os clientes. Esse formulario, teria um

    botão que ao ser clicado, chamaria o Formulario de equipamentos e ai então eu entraria o(s)

    equipamento(s) do cliente. Esse formulario de equipamentos dentro dele teria um subformulario

    em formato de folha de dados que seria no caso, a tabela de peças ou seja para cada

    equipamento eu entraria no subformulario, as peças defeituosas que podem ser mais de uma.

    Ja tentei aqui de diversas formas, mas não consigo, fazer isso. Não sei se eu estou

    raciocinando da forma correta e talvez o relacionamento não dê certo porisso.

    Tenho pouca literatura sobre relacionamentos, e as que eu tenho aqui, não exemplificam da

    forma que eu gostaria, dai acaba ficando dificil entender. Se vcs aqui do forum puderem me

    dar uma ajuda eu agradeceria.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Relacionamento entre tabelas II A missão Empty Re: [Resolvido]Relacionamento entre tabelas II A missão

    Mensagem  criquio 21/9/2011, 00:39

    Cada par de tabela é independente no relacionamento (na maioria das vezes). Você tem a tabela Clientes e ela se relacionará com a tabela Equipamentos. Como deve ser esse relacionamento? Cada cliente tem um código chave primária que, acredito, seja do tipo numérico. Então, você precisará de um campo tipo número na tabela Equipamentos para guardar o código do cliente ao qual o equipamento pertence. Esse campo se chama chave estrangeira. Essa parte está resolvida e diz respeito apenas a essas duas tabelas.
    A sua tabela de equipamentos tem a chave estrangeira que se relaciona com a tabela de clientes, mas ela precisa ter tambem uma chave primária para identificar cada registro dela. Essa chave primária é que se relacionará com outro campo da terceira tabela, a chave estrangeira dessa terceira tabela. Assim como a tabela de equipamentos, a terceira tabela tambem deverá ter, alem da chave estrangeira, uma chave primária, pois cada registro é único.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    NarcisoRN
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 83
    Registrado : 26/07/2011

    [Resolvido]Relacionamento entre tabelas II A missão Empty Re: [Resolvido]Relacionamento entre tabelas II A missão

    Mensagem  NarcisoRN 21/9/2011, 01:26

    Olá Criquio,

    Obrigado por responder. Quanto aos campos e a designação de chave primaria...etc, eu sei fazer. Meus problemas com relacionamentos é na hora de ligar uma tabela a outra. Eu não sei por exemplo se eu posso relacionar essas tres tabelas dessa forma:

    Clientes 1 - N Equipamentos 1-N Peças

    ou seria

    Clientes 1-N Equipamentos N-1 Peças

    Quando eu estou no processo de abstração eu penso de uma forma, mas não consigo depois por em pratica. Talvez eu deva mesmo é procurar um bom livro que possa explicar o assunto de forma bem didatica, talvez assim, eu consiga entender isso. De qualquer forma, obrigado pela ajuda.
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Relacionamento entre tabelas II A missão Empty Re: [Resolvido]Relacionamento entre tabelas II A missão

    Mensagem  Dilson 21/9/2011, 14:24

    Olá,

    ******************
    Tabela = Entidade
    ******************
    Campo = Atributo
    ******************

    As entidades independem uma das outras, até que, se crie relacionamentos.

    Você poderá relacionar de qualquer das maneiras que citou:
    ------------------------------------------
    Clientes 1 - N Equipamentos 1-N Peças

    ou seria

    Clientes 1-N Equipamentos N-1 Peças

    -----------------------------------------

    Desde que se observe as dependencias.

    O que determina a regularidade de 1 - N ou N - 1, são o que diria subordinação entre Entidades.

    Neste esquema acima o N sempre será subordinado de 1. Então:

    Clientes 1 - N Equipamentos 1-N Peças (seria o indicado no seu caso) Pois a tabela Peças está relacionada a tabela Equipamentos e não o contrário.

    Agora Uma pequena contextualização, vamos pensar um pouco:

    Digamos que houvesse a necessidade de se criar uma tabela chamada "Familia de equipamento", que teria o objetivo de classificar as máquinas como: Mídia, Som, Eletrodoméstico etc. Como faríamos no esquema atual?

    Resposta:

    Clientes 1-N Equipamentos N-1 familiaDeEquipamento

    Veja que a tabela familiaDeEquipamento está um nível acima, portanto, é a tabela Equipamento que busca se relacionar com a tabela familiaDeEquipamento

    Para o armazenamento e fluxo de dados, a tabela Equipamentos é subordinada a tabela familiaDeEquipamento e Clientes. Então podemos dizer que é a tabela Equipamento que está relacionada a tabela familiaDeEquipamento e não o contrário.

    A frente poderemos aprofundar mais.




    avatar
    NarcisoRN
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 83
    Registrado : 26/07/2011

    [Resolvido]Relacionamento entre tabelas II A missão Empty Re: [Resolvido]Relacionamento entre tabelas II A missão

    Mensagem  NarcisoRN 21/9/2011, 21:07

    Dilson,

    Eu acredito estar criando os relacionamentos da forma correta. A coisa pega quando eu monto os formularios. Veja so, eu fiz um teste e criei, inclusive usando o proprio assistente do Access. Criei um formulario com um subformulario algo do tipo master details o subformulario ficava dentro do formulario no formato folha de dados quando eu entrava com a informação do cliente 001, imediatamente no detalhe ja era incluido no campo de relacionamento (chave estrangeira) o codigo 001. Mostrando que o relacionamento estaria então "afinado". Se eu usar o mesmo assistente, mas criar um subformulario vinculado o mesmo não acontece, o campo chave estrangeira fica em branco. Sei que eu poderia resolver isso via VBA usando filtro, mas eu me lembro, que uma vez fiz isso usando o Access 2003 e deu certo, com o 2007 estou tendo essa dificuldade. Mas tudo bem, eu estou lendo tudo que posso a respeito do assunto. Gostaria inclusive de agradecer pela sua resposta que foi bastante esclarecedora diminuindo assim, algumas duvidas que eu ainda tinha até o momento de lê-la. Obrigado.
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Relacionamento entre tabelas II A missão Empty Re: [Resolvido]Relacionamento entre tabelas II A missão

    Mensagem  Dilson 21/9/2011, 21:35

    Relativo a autoassociação form com subform, você poderá fazer manualmente pelas propriedades do subform:

    Clique duas vezes no subform. Clique na borda. Quando aparecer a janela de propriedades, vá na aba Dados e coloque o nome da chave primária na propriedade chamada: vincular campos mestres e coloque o nome da chave estrangeira (presente no subform) na propriedade: vincular campos filhos

    Com referência ao relacionamento 1 - N (um para muitos), irei descrever uma maneira fácil de sacar:
    *************************************************************
    Pense Várias vendas para um cliente. Então:

    vendas N - 1 cliente
    *************************************************************
    Vários carros para uma mesma locadora. Então:

    carros N - 1 locadora
    *************************************************************
    Vários alunos para uma turma, várias turmas para um professor, varios professores para uma escola, várias escolas para uma secretaria, várias secretarias para um governo. Então:

    alunos N - 1 turma; turmas N - 1 professor; professor N - 1 escola; escolas N - 1 secretaria e secretarias N - 1 governo


    Até.

    avatar
    NarcisoRN
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 83
    Registrado : 26/07/2011

    [Resolvido]Relacionamento entre tabelas II A missão Empty Re: [Resolvido]Relacionamento entre tabelas II A missão

    Mensagem  NarcisoRN 22/9/2011, 00:58

    Ola Dilson,

    Obrigado pelas dicas.
    Abs
    Dilson
    Dilson
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1743
    Registrado : 11/11/2009

    [Resolvido]Relacionamento entre tabelas II A missão Empty Re: [Resolvido]Relacionamento entre tabelas II A missão

    Mensagem  Dilson 22/9/2011, 02:18

    Sempre disposto.

    Disponha.

    Sucesso no estudo

    Conteúdo patrocinado


    [Resolvido]Relacionamento entre tabelas II A missão Empty Re: [Resolvido]Relacionamento entre tabelas II A missão

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 11:34