Bonjour,
Je planche sur un problème depuis plusieurs heures et je ne trouve pas la solution sur le forum ou sur la FAQ...
J'ai un formulaire : frmOrdoSuiviLivraison qui contient un état : rptOrdoSuiviLivraison.
Le formulaire contient des cases à cocher et selon le choix, la source de l'état change.
ex : si case "Atelier" cochée : Me.rptOrdoSuiviLivraison.SourceObject = État.srptOrdoSuiviLivraisonAtelier
Enfin j'ai un liste déroulante cboChoixClient. Je souhaiterais appliquer un filtre après mis à jour de cette liste.
Pour le code de ce filtre je souhaiterais un même code qui fonctionne quel que soit la source de l'état.
J'ai pensé à ça :
Quelle que soit la variable que j'utilise pour remplacer le nom de l'état je n'obtiens que des erreurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 strSQL = ... strFiltre = ... strSourceEtat = Me.rptOrdoSuiviLivraison.SourceObject strNomEtat = Mid(strSourceEtat, 6) strNomEtatVB = "Report_" & strNomEtat 'je vide la source objet pour pouvoir ouvrir l'état en mode design Me.rptOrdoSuiviLivraison.SourceObject = "" 'jusque là tout va bien mais ensuite je n'arrive pas à utiliser une variable dans le nom de l'état 'on ouvre l'état en mode Design+Caché pour effectuer les modifications, on sauvegarde, on le ferme et on le réouvre 'DoCmd.OpenReport strNomEtat, acViewDesign, , , acHidden 'j'effectue les modifs sur l'état et je change le recordsource strNomEtat.lblTitre.Caption = "OK" strNomEtat.RecordSource = strSQL & strFiltre 'strNomEtatVB.Report.RecordSource = strSQL & strFiltre 'DoCmd.Save acReport, strNomEtat 'DoCmd.Close acReport, strNomEtat 'Me.rptOrdoSuiviLivraison.SourceObject = strSourceEtat Me.Requery Me.Refresh
Pourriez vous m'indiquer la synthaxe à utiliser?
Je vous remercie,
Anthony
Partager