Дважды щелкните по списку, чтобы открыть форму - PullRequest
0 голосов
/ 26 июня 2011

Я действительно только начинаю создавать формы в Access 2007, и я пытаюсь заставить форму открываться с информацией о клиенте, если я нажму на имя Клиента в списке.

Вот запрос поиска:

SELECT msm_customers_extended.id AS ID, UCase([filed_name]) AS [Customer Name], UCase([address1]) & " " & UCase([address2]) AS Address
FROM msm_customers_extended
ORDER BY UCase([filed_name]);

Итак, для столбца привязки установлено значение «1», а для источника управления - «Идентификатор клиента».У меня есть макрос под событием двойного щелчка, установленный на:

Действие: OpenForm Аргументы:

  • Имя формы: Сведения о клиенте
  • Вид: Форма
  • Имя фильтра: (пусто)
  • Где Условие: [ID] = [Идентификатор клиента]
  • Режим данных: (Пусто)
  • Режим окна: Диалог

Когда я тестирую его, я получаю поле ввода с надписью «Идентификатор клиента», поэтому я предполагаю, что не извлекаю идентификатор из списка.Как получить идентификатор из списка, чтобы связать его со второй формой, которую я пытаюсь открыть?

Ответы [ 2 ]

1 голос
/ 27 июня 2011

Как указано в bluefeet, вы должны просто изменить свое состояние.Поскольку вы используете макросы, а не VBA, попробуйте изменить условие Where на:

[ID] = Forms!CustomerListFormName!ListBoxName 

. Хотя макросы являются отличным способом узнать свойства и события Access, я призываю вас перейти на VBA, как только выВы начинаете осваивать свойства и события.Переменные, обработка ошибок, удобочитаемость, VBA принесут вам гораздо больше удовольствия.И не забывайте, что вы можете автоматически перевести существующие макросы в VBA, чтобы быстро приступить к работе.

0 голосов
/ 26 июня 2011

Изменить вас, ГДЕ Условие из этого:

Where Condition: [ID] = [Customer ID]

На это:

"[ID]=" & Me![Customer ID] 

Вы должны указать, откуда вытащить идентификатор клиента.Используя Me, вы даете ему понять, что это из этой формы.

...