complexe Je sais que la question de savoir comment passer des paramètres a été demandé un certain temps avec la présente Previous Stack Overflow questionAccès: Comment passer des paramètres à signaler lorsque la clause WHERE est intégrée dans SQL
Cependant ma situation implique SQL est un peu plus complexe et ne peut pas utiliser le filtre "where clause" disponible lors de l'ouverture d'un rapport. Mon instruction SQL est un agrégat qui produit une seule ligne avec un champ pour chaque agrégat. J'ai deux paramètres "@StartDate" et "@EndDate" que je dois passer dans la requête.
SELECT q1.CasesAssigned, q2.WarningsIssued
FROM
(SELECT COUNT(*) AS CasesAssigned
FROM vwCaseDetail
WHERE DateAssigned Between @StartDate AND @EndDate) as q1,
(SELECT COUNT(*) AS WarningsIssued
FROM vwWarningDetail
WHERE DateIssued Between @StartDate AND @EndDate) as q2
Ce que je voudrais faire est « pop-up » un dialogue ou un petit formulaire pour l'utilisateur à saisir les dates de début et de fin, mais je n'ai aucune idée sur la façon de transmettre les valeurs dans la requête le rapport est basé sur. Aucune suggestion? Je vous remercie.
Ce fonctionnait très bien! Cela me permet de valider l'entrée de l'utilisateur avant de le transmettre au rapport. Maintenant, je dois juste comprendre pourquoi le rapport s'ouvre et se ferme par lui-même. Je lance le rapport après avoir cliqué sur un bouton "OK" lorsque toutes les valeurs ont été saisies. Peut-être que c'est pour une autre question :) Merci Kevin! – webworm
J'ai ajouté une autre question de débordement de pile qui aborde le problème .. http://stackoverflow.com/questions/3856261/how-to-collect-input-via-a-form-and-pass-to-report-query-in -access – webworm
Comme je l'ai suggéré dans un commentaire de cette autre question, vous pouvez envisager d'ouvrir le formulaire dans l'événement OnOpen du rapport et de définir la propriété Recordsource du rapport avec la clause WHERE appropriée. –