AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1438077
Accepted
Daniel W
Daniel W
Asked: 2019-05-18 06:00:00 +0800 CST2019-05-18 06:00:00 +0800 CST 2019-05-18 06:00:00 +0800 CST

Microsoft Access 2019, relacionamentos um para um (supertipo -> subtipo)

  • 772

Estou ficando frustrado ao entender como configurar um relacionamento um para um no Microsoft Access 2019. Eu tenho um tblAccountssubtipo de tblVendorse tblClients.

Agora, posso não ter um entendimento completo de como isso deve funcionar, mas minha "Bíblia do Access 2019" mal toca nesse assunto e não consigo encontrar nenhum exemplo online disso.

Minha configuração é, para simplificar:

tblAccounts
-----------
AccountID    [AutoNumber, PK]
AccountName  [ShortText]
AccountData...

e

tblClients
---------
AccountID    [Number, PK-FK]
ClientData...

tblVendors
---------
AccountID    [Number, PK-FK]
VendorData...

Eu tenho os relacionamentos configurados corretamente, acredito... A partir de agora, posso criar um registro de conta e, em seguida, criar separadamente um registro de cliente/fornecedor. É um-para-um com Integridade Referencial, portanto, permitirá apenas AccountIDs existentes e os permitirá apenas uma vez. MAS eu tenho que digitar manualmente os IDs da conta.

O que estou procurando, quando crio uma consulta SELECT entre tblAccounte os subtipos, é como fazer com que os registros compartilhem o mesmo de forma AccountIDautomática e mágica. Ou devo usar uma macro que adiciona os registros secundários nas tabelas Cliente/Fornecedor? Ou estou fazendo isso completamente errado/minhas tabelas precisam ser reconfiguradas.

Estou apenas no nível de design de tabela e consulta do meu projeto neste momento. Então, se perguntando se isso não é possível neste nível?

Obrigado a todos!


Editar:

Esclarecimento,

Estou procurando fortalecer o relacionamento entre tblAccountse seus subtipos. Portanto, sempre que, a qualquer momento, um registro é criado tblClientou tblVendroum registro de jantar é criado em tblAccountrelação a esse cliente ou fornecedor por meio do AccountID.

Ao contrário de agora, onde primeiro tenho que criar um registro tblAccountse, em seguida, criar um registro tblClient/Vendore digitar manualmente o AccountID de tblAccounta.

Neste ponto do meu design, não estou tentando extrair, juntar ou extrapolar nenhum dado extra, só quero entender como o One-To-One realmente funciona no acesso e se eu realmente deveria usá-lo. As tabelas do cliente e do fornecedor devem ser independentes uma da outra, embora sejam semelhantes na maioria dos dados de configuração? Minha "Bíblia do Microsoft Access 2019, de Michael Alexander e Dick Kulsleika" usa esta conta -> relação cliente/fornecedor para descrever um para um, mas não oferece exemplos de configuração. Eu apenas pensei que o relacionamento deveria existir como tal, se eles se dessem ao trabalho de mencioná-lo em um livro divulgado de verdade.

database microsoft-access
  • 1 1 respostas
  • 842 Views

1 respostas

  • Voted
  1. Best Answer
    harrymc
    2019-05-21T10:24:31+08:002019-05-21T10:24:31+08:00

    Você gostaria de poder armazenar uma linha em uma tabela dependente em uma restrição de integridade de chave estrangeira e isso criará automaticamente a linha pai. Isso não pode funcionar porque:

    1. Uma loja na tabela dependente não pode acionar a propriedade AutoNumber na tabela pai
    2. O Access simplesmente não faz isso para restrições de integridade.

    Você deve olhar para outros mecanismos que melhor se adaptam às suas necessidades:

    • Macro de dados
      Com isso você pode criar uma macro que será acionada pelo insert na tabela dependente.

    • Procedimento SQL
      Com isso, você pode criar um procedimento que fará o trabalho repetido de inserir uma linha na tabela dependente após verificar se existe uma linha pai, criando-a com valores padrão se não existir. Você também pode criar procedimentos para atualização ou exclusão da tabela pai.

    Usar um dos itens acima pode tornar supérflua a restrição de integridade de chave estrangeira. Sem ele, algumas operações do banco de dados podem se tornar mais rápidas.

    • 1

relate perguntas

  • Ao importar uma planilha para o Access, como você impede que o Excel atribua automaticamente um tipo de campo de dados?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    Serviço do Windows 10 chamado AarSvc_70f961. O que é e como posso desativá-lo?

    • 2 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Marko Smith

    ssl.SSLCertVerificationError: falha na verificação do certificado [SSL: CERTIFICATE_VERIFY_FAILED]: não foi possível obter o certificado do emissor local (_ssl.c:1056)

    • 4 respostas
  • Marko Smith

    Como posso saber em qual unidade o Windows está instalado?

    • 6 respostas
  • Martin Hope
    Albin Como faço para ativar o WindowsXP agora que o suporte acabou? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch O Windows 10 exclui muitos arquivos minúsculos muito lentamente. Algo pode ser feito para agilizar? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Como Ctrl+C e Ctrl+V funcionam? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve