Я пытаюсь выполнить 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
Есть какие-нибудь мысли о том, почему он хочет запросить параметр, а не просто выполнить запрос так, как он у меня?