Access 2007:打开报表时要运行的动态SQL

时间:2010-04-15 14:22:01

标签: ms-access ms-access-2007

我打算在打开报告时尝试执行一些SQL。当我尝试匹配一个带整数的整数的列时,这种方法很好,但是当我尝试匹配“text”列时,它会不断弹出一个对话框,询问你想要过滤的内容。

这是一个很简单的查询:

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 :(得分:0)

是实际存储哈希标记的手机号码字段吗?

从您提供的代码中,我没有看到任何会导致参数提示的内容 - 请发布整个查询