2016-11-28 1 views
0

Je veux créer un rapport qui résume les données pour les 14 derniers jours ouvrables. Cela signifie que le rapport doit exclure les samedis et dimanches (et peut-être les jours fériés).Accès 2016 signaler les champs manquants avec des données entre les dates

Je travaille toujours sur la façon de faire ce qui précède. Je crois que ce sera une solution vba. Mais pour l'instant j'ai rencontré un autre problème que je ne sais pas comment résoudre.

Ma table contient des champs pour un produit, une quantité et une date à laquelle l'entrée a été effectuée (stockée sous la forme "mm/jj/aaaa hh: nn").

Lorsque je fais une recherche de ma table pour les entrées pour les 2 dernières semaines, j'utilise l'expression suivante dans une requête:

Between DateAdd("d",1,Now()) And DateAdd("d",-14,Now()) 

Si la date tombe au cours des 2 dernières semaines et le temps sur une transaction particulière est minuit c'est-à-dire 00:00, la requête renvoie le produit et la quantité. Si l'heure n'est pas minuit, la requête renvoie le produit mais le champ de quantité est vide. Ce n'est pas grave si j'utilise date() ou maintenant(). Peu importe si j'utilise une date réelle telle que:

>=#11/24/2016# 

Ainsi, la requête complète est:

TRANSFORM Sum(tblWarehouseTransfer.Qty) AS SumOfQty 
SELECT tblWarehouseTransfer.ProductID 
FROM tblWarehouseTransfer 
WHERE (((tblWarehouseTransfer.DateMoved) Between DateAdd("d",1,Now()) And DateAdd("d",-14,Now()))) 
GROUP BY tblWarehouseTransfer.ProductID 
ORDER BY tblWarehouseTransfer.ProductID 
PIVOT (Date())-[datemoved]+1 In (1,2,3,4,5,6,7,8,9,10,11,12,13,14); 

Comment puis-je obtenir le produit et la quantité pour montrer lorsque les attributs de champ de table inclure "hh: nn" et l'heure est autre que 00:00? J'ai besoin de la requête pour être dynamique, donc j'ai besoin d'utiliser date() ou maintenant() pas une date spécifique.

Répondre

0

J'ai trouvé une solution pour mon problème. J'ai divisé le champ DateMoved en 2, en créant un nouveau champ dans la table qui contient uniquement les heures et minutes, c'est-à-dire "Short Time". En entrant des données dans le champ "DateMoved" en tant que DateValue (day()), c'est-à-dire "Short Date", l'heure est tronquée. Les champs de produit et de quantité s'affichent maintenant dans le rapport et la requête reste dynamique. La requête SQL n'a pas changé, juste la manière dont la date est stockée dans le champ DateMoved.