Pouco atrasado, mas sim uma auto-adesão .
- Adicione um novo campo à tabela, como
MainProject
. Certifique-se de que tenha o mesmo tipo de dados que o campoProjectNumber
; - Entre na janela de relacionamentos e adicione a tabela uma segunda vez. Arraste e solte de
MainProject
da primeira cópia paraProjectNumber
da segunda cópia; - Clique duas vezes na linha de junção e escolha Enforce Integrity Referential . Isso garantirá que você não pode atribuir o
MainProject
um ID que ainda não é umProjectNumber
existente.
Quando você cria um formulário que é usado para criar novos registros para essa tabela, adicione um ComboBox
e defina seu RowSource
para uma instrução sql que lista os ProjectNumbers (e talvez outros campos) da tabela. Defina seu ControlSource
para MainProject
.
Note, no entanto, que se você está criando um novo projeto e o id deste projeto também será usado como o ID do projeto principal, então ele requer um pouco mais de esforço. Você precisaria salvar o registro atual e ReQuery
da caixa de combinação antes que esse novo ID seja exibido em sua lista. Você pode querer usar um botão para conseguir isso com o código. Manualmente, você pode pressionar Shift-Enter
para salvar o registro atual, depois clicar na caixa de combinação e pressionar F9 para repetir a consulta.
No entanto, se houver outros detalhes relevantes para este projeto principal que ainda não estejam na tabela, sim, você deve criar uma nova tabela para manter esses detalhes - especificamente, ou seja, informações que são APENAS relevante para os principais projetos.
Se você precisar apenas do ProjectNumber (do projeto principal), a auto-associação, conforme descrito acima, será suficiente.