MS Access SELECT DISTINCT WHERE查询为组合框行源

时间:2016-05-05 15:05:46

标签: sql ms-access

我想简化一些我在MS Access 2010数据库中工作的代码,我继承了这些代码。我希望用户在字段[txtSelectDate]中输入表单中的日期,然后从组合框中选择任何[ProductName],其中记录位于用户所选日期的[uploads]表中。

目前我有一个特殊的查询旨在做到这一点,但我正在刷我的SQL,我想知道我是否可以在属性表>中的SQL表达式中完成它。数据>行源字段。

我的尝试是:

SELECT DISTINCT [Uploads].[ProductName] 
FROM Uploads 
WHERE [Uploads].[ImportDate] = [Forms]![Review]![txtSelectDate] 
ORDER BY [ProductName];

我觉得它应该有效,但它给了我一个空白的组合,没有任何选项。如果我拿走WHERE,我会得到选项,但无论相关的[ProductName]值是否实际位于所选日期的上传中,我都会获得所有选项。

2 个答案:

答案 0 :(得分:0)

我认为您需要在输入日期后刷新表单 - 假设它们位于同一表单上,请在文本框中添加更新后事件:

Private Sub txtSelectDate_AfterUpdate()
    Me.refresh
End Sub

答案 1 :(得分:0)

检查你的txtSelectDate是否正确地转换为Date类型(或至少匹配Uploads.ImportDate,无论它是什么类型)或你的查询将返回零行?