Access 2007: динамический SQL для запуска при открытии отчета - PullRequest
0 голосов
/ 15 апреля 2010

Я пытаюсь выполнить SQL при открытии отчета. Это прекрасно работает, когда я пытаюсь сопоставить столбец, представляющий собой целое число, с целым числом, но когда я пытаюсь сопоставить столбец типа «текст», появляется диалоговое окно с вопросом, что вы хотите фильтровать.

Вот несколько запросов:

select person_phone_numbers.person_id from person_phone_numbers where phone_number = '444-444-4444'

Это на самом деле подзапрос, который я пытаюсь использовать, но именно в этом проблема. Если я поменяю его на это, оно будет работать нормально:

select person_phone_numbers.person_id from person_phone_numbers where phone_id = 2

Я помещаю это в событие OnOpen и назначаю его Me.RecordSource, если это имеет значение. Моя цель заключается в том, чтобы форма принимала параметры запроса и открывала отчет с результатами.

РЕДАКТИРОВАТЬ: Полный фрагмент кода:

Private Sub Report_Open(Cancel As Integer)
    Me.RecordSource = "SELECT person.original_name, person.normalized_name, phone_number.full_number, phone_number.type, person.person_id " _
                & "FROM phone_number INNER JOIN (person INNER JOIN person_phone_numbers ON person.person_id = person_phone_numbers.person_id) " _
                & "ON phone_number.full_number = person_phone_numbers.full_number where person.person_id IN " _
                & "(select person_phone_numbers.person_id from person_phone_numbers where phone_number = '444-444-4444')"
End Sub

Есть какие-нибудь мысли о том, почему он хочет запросить параметр, а не просто выполнить запрос так, как он у меня?

1 Ответ

0 голосов
/ 15 апреля 2010

действительно ли поле phone # содержит хеш-метки?

из того, что вы указали для кода, я не вижу ничего, что могло бы вызвать запрос параметра - пожалуйста, опубликуйте весь запрос

...