2010-07-21 3 views
0

J'ai une zone de liste avec cette requête:Comment changer de forme Accès listbox requête

SELECT [350PressProduction].ID, [350PressProduction].ContinuationOfID, [350PressProduction].RunDate, [350PressProduction].ProdLength, [350PressProduction].ProdWeight FROM 350PressProduction WHERE ((([350PressProduction].RunDate)=#4/15/2010#)); 

Comment puis-je changer cette requête si la date dans la clause WHERE est définie sur ce que j'ai tapé dans RunDate de la forme actuelle boîte moins 1 jour? Fondamentalement, je veux la liste pour me montrer toutes les entrées qui ont un RunDate 1 jour avant le jour où j'entre. Je suppose que je vais définir la nouvelle requête dans l'événement OnChange RunDate, puis exécutez ReQuery sur la liste, mais je ne suis pas sûr comment obtenir la nouvelle valeur de date dans la nouvelle requête.

Répondre

1

Vous pouvez utiliser VBA pour définir la source de la ligne:

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 est un alias pour la table, il rend le SQL plus net.

Ou vous pouvez vous référer à la forme dans le sql pour la source de la ligne:

SELECT t.ID, t.ContinuationOfID, t.RunDate, 
     t.ProdLength, t.ProdWeight FROM 350PressProduction t 
     WHERE t.RunDate=Forms!MyForm!MyDate 
Questions connexes