MS Access:为何查询无法使用列表框Column属性作为条件及解决方法
Access查询引用列表框列值的问题解决
问题原因
在Access的查询表达式中,引用列表框的Column属性时必须指定具体的列索引(从0开始计数)。文本框的控件源可以省略索引,Access会默认取列表框的第一列,但查询的表达式引擎不支持这种省略写法,因此会误判为“未定义函数”。
解决方案
方案1:明确指定列索引
找到INVOICE_NO在列表框中对应的列索引(从0开始,比如第一列对应0,第二列对应1),修改查询条件为:[Forms]![Search Invoices By Customer ID 2]![invoiceList].Column(索引值)
对应的完整SQL语句示例(假设INVOICE_NO是列表框第1列,索引为0):
SELECT InvoiceFirsts.INVOICE_NO FROM InvoiceFirsts WHERE (((InvoiceFirsts.INVOICE_NO)=[Forms]![Search Invoices By Customer ID 2]![invoiceList].Column(0)));
方案2:利用列表框的绑定列
如果已经将列表框的绑定列属性设置为INVOICE_NO所在的列(属性中“绑定列”数值从1开始计数),可以直接引用列表框的默认值,语法更简洁:[Forms]![Search Invoices By Customer ID 2]![invoiceList]
对应的完整SQL语句:
SELECT InvoiceFirsts.INVOICE_NO FROM InvoiceFirsts WHERE (((InvoiceFirsts.INVOICE_NO)=[Forms]![Search Invoices By Customer ID 2]![invoiceList]));
内容的提问来源于stack exchange,提问作者psantucc
相关产品推荐
相关产品推荐

