보고서를 열 때 SQL을 실행하려고합니다. 이것은 정수로 정수형 열을 일치 시키려고 할 때 잘 동작하지만, "text"열과 일치 시키려고하면 필터링 대상을 묻는 대화 상자가 계속 나타납니다.Access 2007 : 보고서를 열 때 실행할 동적 SQL
는 여기 somple 쿼리입니다 :
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
그냥 쿼리 내가이 방법을 실행하는 매개 변수 대를 요청하고자하는 이유에 대해 어떤 생각?
전화 번호 필드 텍스트인가를 게시하시기 바랍니다? 또한 나타나는 매개 변수는 무엇입니까? –
예, 전화 번호 필드는 텍스트이고 계속 올라 오는 매개 변수는 "phone_number"입니다. – blockcipher
Nevermind ... 분명히 열 이름을 잘못 지정했는데 열이 잘못되었음을 알리는 대신 프롬프트를 표시하기로 결정했습니다. – blockcipher