如何更改Access窗体列表框查询

时间:2010-07-21 16:18:42

标签: ms-access

我有一个包含此查询的列表框:

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,但我不确定如何将新日期值添加到新查询中。

1 个答案:

答案 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 
相关问题