我有一个包含此查询的列表框:
SELECT [350PressProduction].ID, [350PressProduction].ContinuationOfID, [350PressProduction].RunDate, [350PressProduction].ProdLength, [350PressProduction].ProdWeight FROM 350PressProduction WHERE ((([350PressProduction].RunDate)=#4/15/2010#));
如何更改该查询,以便将WHERE子句中的日期设置为我在当前表单的RunDate框中输入的内容减去1天?基本上我希望列表框向我显示在我进入的那天前1天有RunDate的所有条目。
我想我会在RunDate的OnChange事件中设置新查询,然后在列表框上运行ReQuery,但我不确定如何将新日期值添加到新查询中。
答案 0 :(得分:1)
您可以使用VBA设置行来源:
strSQL="SELECT t.ID, t.ContinuationOfID, t.RunDate, " _
& "t.ProdLength, t.ProdWeight FROM 350PressProduction t " _
& "WHERE t.RunDate=#" & Format(Me.MyDate,"yyyy/mm/dd") & "#"
Me.MyListbox.Rowsource=strSQL
t是表的别名,它使SQL更整洁。
或者您可以在sql中引用行源的表单:
SELECT t.ID, t.ContinuationOfID, t.RunDate,
t.ProdLength, t.ProdWeight FROM 350PressProduction t
WHERE t.RunDate=Forms!MyForm!MyDate