![Может ли Access отображать связанное поле в форме ввода данных?](https://rvso.com/image/1346590/%D0%9C%D0%BE%D0%B6%D0%B5%D1%82%20%D0%BB%D0%B8%20Access%20%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B0%D1%82%D1%8C%20%D1%81%D0%B2%D1%8F%D0%B7%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%BF%D0%BE%D0%BB%D0%B5%20%D0%B2%20%D1%84%D0%BE%D1%80%D0%BC%D0%B5%20%D0%B2%D0%B2%D0%BE%D0%B4%D0%B0%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%3F.png)
Допустим, я создаю базу данных Access для хранения рецептов и расчета стоимости этих рецептов. Мне нужна таблица рецептов, таблица возможных ингредиентов и таблица позиций рецептов.
Стоимость каждого ингредиента хранится в таблице «Ингредиенты» вместе с единицей измерения. Например, мы можем хранить ингредиент «Гамбургер» с единицей измерения «унции» и стоимостью 0,25 долл. за унцию.
RECIPES INGREDIENTS RECIPELINES
-------- ------------- -------------
ID ID ID
Name Name RecipeID
MeasurementUnit IngredientID
CostPerUnit Quantity
Я создаю подчиненную форму для добавления строк рецепта. Я хочу разрешить ввод поля Количество, но также хочу отображать единицу измерения ингредиента. Другими словами, я хочу, чтобы форма выглядела так:
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 ]
Когда пользователь вводит название ингредиента (поле со списком над полем IngredientID), я хочу отобразить единицу измерения, чтобы пользователь знал, вводит ли он унции, чашки, фунты или что-то еще. Возможно ли это?
решение1
Я написал весь вопрос, а затем Суперпользователь указал мне наДругой вопроскоторый, кстати, дал мне нужный ответ.
В самой форме измените Источник записи на запрос, а не на таблицу. В этом случае:
SELECT RecipeLines.*, Ingredients.MeasurementUnit
FROM Ingredients
INNER JOIN RecipeLines ON Ingredients.ID = RecipeLines.IngredientID;
Затем MeasurementUnit становится выбираемым источником управления в текстовом поле. Отключая текстовое поле, он становится дисплеем только для просмотра.