Ms access 如何更改访问表单列表框查询

Ms access 如何更改访问表单列表框查询,ms-access,Ms Access,我有一个包含此查询的列表框: SELECT [350PressProduction].ID, [350PressProduction].ContinuationOfID, [350PressProduction].RunDate, [350PressProduction].ProdLength, [350PressProduction].ProdWeight FROM 350PressProduction WHERE ((([350PressProduction].RunDate)=#4/15/

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

SELECT [350PressProduction].ID, [350PressProduction].ContinuationOfID, [350PressProduction].RunDate, [350PressProduction].ProdLength, [350PressProduction].ProdWeight FROM 350PressProduction WHERE ((([350PressProduction].RunDate)=#4/15/2010#)); 
如何更改该查询,使WHERE子句中的日期设置为我在当前表单的RunDate框中键入的日期减去1天?基本上,我希望列表框显示在我输入日期前1天有运行日期的所有条目


我想我将在RunDate的OnChange事件中设置新查询,然后在列表框中运行ReQuery,但我不确定如何将新日期值放入新查询中。

您可以使用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
 SELECT t.ID, t.ContinuationOfID, t.RunDate, 
       t.ProdLength, t.ProdWeight FROM 350PressProduction t 
       WHERE t.RunDate=Forms!MyForm!MyDate 
t是表的别名,它使SQL更加整洁

或者,您可以参考sql中有关行源的表单:

 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
 SELECT t.ID, t.ContinuationOfID, t.RunDate, 
       t.ProdLength, t.ProdWeight FROM 350PressProduction t 
       WHERE t.RunDate=Forms!MyForm!MyDate