Hello,
J'utilise MS Access 2000 Project (fichier adp) connecté à une base de données MS SQL Server 2000.
J'ai créé un formulaire en mode continu avec un partie "Détail" (résultats de la requête) et une partie "Pied de formulaire" (regroupant les sous-totaux de la liste).
La source de mon formulaire est une procédure stockée.
Mon problème est que les sous-totaux calculés en bas de page ne sont pas mis à jour lorsque les résultats sont filtrés dans le formulaire (côté client. ex : "Filtrer par sélection").
Ainsi, si je prends l'exemple suivant :
ID City Country Population
1 Paris France 2.100.000
2 New-York USA 8.100.000
3 Marseille France 800.000
Le sous-total calculé en pied de formulaire est 11.000.000.
Cependant, lorsque je souhaite filtrer, dans mon formulaire, les résultats au pays "France", ("clic droit" --> "Filtrer par sélection"), le sous-total affiché en pied de formulaire reste à 11.000.000, ce qui est faux.
J'ai testé la fonctionnalité avec une base ".mdb" et les sous-totaux sont correctement mis à jour lorsque les résultats sont filtrés .
Donc comportement différent entre "mdb" et "adp".
Donner la possibilité de voir les sous-totaux recalculés lorsque l'utilisateur fait des filtres est vraiment important pour l'application que je développe.
J'ai essayé différents moyens de contourner le problème :
- Utilisation d'un filtre côté serveur se basant sur le filtre du formulaire --> Les filtres serveur ne fonctionnent pas avec les procédures stockées. Impossible d'utiliser une vue à la place de la procédure stockée, la requête comporte des paramètres et est assez compliquée.
- Recalcul des sous-totaux avec du code lors de l'événement "appliquer le filtre" mais Access me demande de spécifier une table unique dans le formulaire pour modifier les champs sous-totaux . Or Access ne me propose pas de table unique à sélectionner dans les propriétés du formulaire (sans doute parce que j'utilise une procédure stockée).
- Enfin, impossible d'insérer un sous-formulaire en pied de page, le formulaire est en mode "continu".
Je suis donc coincé.
J'espère que quelqu'un aura une brillante idée pour me faire avancer/dépanner.
Merci d'avance pour votre aide.
Cordialement,
Terrybens
Partager