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

0

Digamos que eu esteja criando um banco de dados do Access para armazenar receitas e calcular o custo dessas receitas. Preciso de uma tabela de receitas, uma tabela de ingredientes possíveis e uma tabela de itens de linha de receita.

O custo de cada ingrediente é armazenado na tabela Ingredientes, junto com a unidade de medida. Por exemplo, podemos armazenar um ingrediente "Hamburger" com uma unidade de medida de "onças" e um 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 receita. 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 seja 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  ]

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

    
por Stephen Jennings 12.01.2013 / 02:03

1 resposta

0

Eu escrevi a pergunta toda, então o Super User me indicou outra pergunta que, aliás, tinha a resposta que eu precisava.

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

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

Em seguida, 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 de exibição.

    
por 12.01.2013 / 02:03