Как я могу отобразить значение * чужого * поля в текстовом поле? - PullRequest
1 голос
/ 01 июня 2009

Как связать текстовое поле с полем, которое не принадлежит таблице формы «Источник записи», через представление «Дизайн»?

Пример: у меня есть «Order.cust_id» (источник записи = заказ), и я хочу отобразить «Customers.name». Я считаю, что это тривиально, но у меня нет опыта работы с MS Access. Я пытался использовать свойство текстового поля «Источник управления», но безуспешно.

Ответы [ 3 ]

3 голосов
/ 01 июня 2009

Одним из методов будет преобразование текстового поля в поле со списком. Затем установите источник строки, чтобы включить cust_Id и Customer.Name из таблицы customer. Пример оператора SQL

Select Cust_ID, Name From Customer 
Order By Name;

Устанавливая количество столбцов равным 2 и ширину столбцов; первый столбец - ноль (т. е. «0; 6»), тогда внешний ключ будет скрыт от пользователя и будет отображаться имя клиента.

Обратите внимание, что этот метод заставляет вас ограничить список до true.

Кроме того, в итоге вы получите выпадающий список, который может оказаться не тем, что вы хотите.

1 голос
/ 01 июня 2009

Вы можете использовать DlookUp в качестве источника управления текстовым полем:

 =DlookUp("[Name]", "Customer", "ID=" & Cust_ID)

Синтаксис: что искать, имя таблицы, где оператор

Оператор Where должен соответствовать правилам для Jet SQL, что означает, что вы должны использовать разделители, если поле имеет текстовый или формат даты.

Обратите внимание, что Имя действительно очень плохое имя для всего. Я предлагаю вам переименовать поле непосредственно перед ухудшением ситуации.

Может быть полезно знать об ошибке (ях).

0 голосов
/ 01 июня 2009

Вы можете создать новое представление (например, OrdersAndCustomerNames), выбрать все столбцы, которые вы хотите использовать в форме, затем вместо использования таблицы Order в качестве источника записи вы просто переключитесь на OrdersAndCustomerNames. Вы говорите, что у вас нет опыта работы с MS Access, поэтому я предполагаю, что вы не создаете ничего огромного и слишком сложного, поэтому я бы сделал это так. Я вполне уверен, что это можно сделать более элегантно, но пока это подойдет.

...