Buonasera,
premetto che concordo appieno con quanto scritto da @Alex vorrei comunque provare ad esprimere il mio punto di vista...
I pulsanti di controllo saranno molteplici nella maschera. Apriranno tutti lo stesso report
Ho notato con piacere che, rispetto all'altro 3D, hai cambiato approccio... apri un solo Report invece che 500 Reports
...ritengo sia una scelta giusta (è solo un parere... ognuno è libero di agire come vuole).
dovrei inserire nel pulsante altra funzione che comandi alla casella di testo dello stesso report di contenere il =DLookUp("[campo1]";"nome tabella";"[campo2]='......'")
Credo tu possa avvalerti di della proprietà "openArgs" del Report.. ma per farlo hai bisogno di accedere al VBA (non credo si possa fare con macro... se mi sbaglio sarei felice che qualcuno mi correggesse).
Non voglio "pubblicarti" la soluzione perché è contro il regolamento del forum... tuttavia se vorrai dedicare un po di tempo all'approfondimento sarò lieto di "provare" a darti le giuste indicazioni...
- Nell'evento "su clic" del pulsante devi accedere al codice VBA e non alla composizione guidata macro;
- Poi devi aprire il Report da codice attraverso la funzione "DoCmd.OpenReport" (su google c'è tutto ciò che serve), impostando i parametri WHERE e openargs
- openargs è un valore che "passerai" al Report e che potrai utilizzare come "Origine Controllo" nella casella di testo che vuoi personalizzare...
Aggiungo anche, come parere personale assolutamente non vincolante (il programma è tuo), che forse potresti usare anche un solo pulsante che, in base a selezioni fatte in altri controlli (combobox, option ecc.), eventualmente presenti nella maschera, apre il report opportunatamente filtrato in tutte le sue parti...
Potrebbe esserti di aiuto anche.... "Come convertire macro in vba" (cerca su google).... Potresti replicare la macro che hai gia creato per aprire il il report filtrato e trasformarla in codice...