2013-07-23 2 views
0

Недавно я начал работать с MS Access 2010, и я пытаюсь создать ярлыки из формы, которую я создал. В форме три части информации вводятся пользователем: стиль, цветовой код и единица измерения (UoM). Номера стилей выглядят одинаково в форме и в отчете, и я смог заставить это работать.Как заменить одну запись на другой отчет MS Access?

Однако для цветового кода мне нужен как введенный цветовой код, так и фактический цвет, отображаемый в отчете. У меня есть таблица со всеми цветовыми кодами с соответствующими названиями цветов. Я не могу понять, как получить текстовое поле, которое должно отображать имя цвета, чтобы показать его. Я не знаю, практически не SQL, но я нашел информацию о нем в Интернете, и кусочкам этот код в ControlSource для текстового поля название цвета должно быть в:

=(SELECT [Description] 
FROM [Color] 
WHERE([Forms]![Box Label Form]![ThirdJoined]=[Color]![ColorCode])) 

[Описание] это имя столбец в таблице [Цвет], который дает фактическое имя цвета.

[Box Label Form] - это название формы.

[ThirdJoined] - это имя входного текстового поля в форме.

[ColorCode] - это название столбца в таблице [Цвет], которая дает этот цветовой код.

Этот код не работает, и только результат #NAME отображается в окне предварительного просмотра. Как я могу заставить это работать, как по коду, так и по-другому?

ответ

1

Вы не можете установить ControlSource текстового поля в инструкцию SQL. Вы можете настроить его на функцию DLOOKUP для поиска единственного значения. Вам также необходимо выделить ссылку на элемент управления формы с помощью конкатенации (&).

=DLOOKUP("Description","[Color]","ColorCode='"&[Forms]![Box Label Form]![ThirdJoined]&"'") 

Я предполагаю, что цвет является текстовым значением, так что форма-значение должно быть заключено в апострофы.

Если это выражение используется в виде [Box Ярлык Form], то вам не нужно квалифицировать имя Control:

=DLOOKUP("Description","[Color]","ColorCode='"&[ThirdJoined]&"'") 
+0

я попробовал первое кода и сказал мне, что я отсутствовала конечная скобка, скобка или вертикальная полоса. Когда я поставил круглую скобку в конце, это не дало мне этого сообщения об ошибке, но когда я попробовал Print Preview, он дал мне #Error. – kuwaly

+0

Я исправил свой ответ, поскольку скобка должна быть после закрывающей цитаты. Но вы должны изучать это, а не просто копировать и вставлять его. –

Смежные вопросы