我想简化一些我在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]值是否实际位于所选日期的上传中,我都会获得所有选项。
答案 0 :(得分:0)
我认为您需要在输入日期后刷新表单 - 假设它们位于同一表单上,请在文本框中添加更新后事件:
Private Sub txtSelectDate_AfterUpdate()
Me.refresh
End Sub
答案 1 :(得分:0)
检查你的txtSelectDate是否正确地转换为Date类型(或至少匹配Uploads.ImportDate,无论它是什么类型)或你的查询将返回零行?