O Access pode exibir um campo relacionado em um formulário de entrada de dados?

O Access pode exibir um campo relacionado em um formulário de entrada de dados?

Digamos que estou construindo um banco de dados Access para armazenar receitas e calcular o custo dessas receitas. Preciso de uma tabela de receitas, uma tabela de possíveis ingredientes e uma tabela de itens de receita.

O custo de cada ingrediente é armazenado na tabela Ingredientes, junto com a unidade de medida. Por exemplo, podemos armazenar um ingrediente "hambúrguer" com unidade de medida "onças" e custo de US$ 0,25 por onça.

RECIPES    INGREDIENTS        RECIPELINES
--------   -------------      -------------
ID         ID                 ID
Name       Name               RecipeID
           MeasurementUnit    IngredientID
           CostPerUnit        Quantity

Estou criando um subformulário para adicionar linhas de receitas. Quero permitir a entrada do campo Quantidade, mas também quero exibir a unidade de medida do ingrediente. Em outras palavras, quero que o formulário fique assim:

RECIPE FORM
  ID:   [ 5 ]
  Name: [ Guacamole ]

  Recipe line items: (this is the subform)

      INGREDIENT           AMT     UNIT
      ----------------------------------
      [ Hass Avocado   ] [ 2.0 ] [ EA  ]
      [ Red Onion      ] [ 0.5 ] [ CUP ]
      [ Habanero Chile ] [ 2.0 ] [ EA  ]

Depois que o usuário insere o nome de um ingrediente (uma caixa de combinação no campo IngredientID), desejo exibir a unidade de medida para que o usuário saiba se está digitando onças, xícaras, libras ou o quê. Isso é possível?

Responder1

Escrevi a pergunta inteira e o superusuário me indicououtra perguntaque aliás tinha a resposta que eu precisava.

No próprio formulário, altere a Fonte do Registro para ser uma consulta em vez de uma tabela. Nesse caso:

SELECT RecipeLines.*, Ingredients.MeasurementUnit
FROM Ingredients
INNER JOIN RecipeLines ON Ingredients.ID = RecipeLines.IngredientID; 

Então, MeasurementUnit se torna uma fonte de controle selecionável em uma caixa de texto. Ao desabilitar a caixa de texto, ela se torna uma exibição somente para visualização.

informação relacionada