Newsgroup: it.comp.appl.access
Titolo: Filtro in base a maschera e Report

Salve a tutti.
Qualcuno mi sa dire come faccio mettere i record filtrati in base a maschera
in un report?
Grazie in anticipo per il vostro aiuto
Luca

 ha scritto nel messaggio
news:BY5Aa.31388$Ny5.9...@twister2.libero.it...

Se la maschera si chiama Maschera1.
E' necessario che Maschera1 sia aperta quando esegui il report.
A fronte dell'evento "Su apertura" del report genera il seguente codice VBA:
Private Sub Report_Open(Cancel As Integer)
Me.Filter = Forms!Maschera1.Filter
Me.FilterOn = True
End Sub
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 ha scritto nel messaggio
news:oK6Aa.31572$lK4.9...@twister1.libero.it...


Forse se espongo meglio il problema si capisce meglio cosa sto cercando.
Ho creato un DB per la gestione di una biblioteca (o meglio ci sto provado),
ho bisogno di fare ricerche in base a campi specifici ma non noti a priori
(es. per "autore e anno", o "scaffale e anno" o ancora "casa editrice e
scaffale", e cosě via per tutte le combinazioni possibili). Non ho la minima
idea di come poter creare un report a partire da questi campi inseriti
magari attraverso una maschera (simile a quella che uso per immettere i
dati). La stessa cosa poi la dovrň fare per creare una maschera di modifica
dei record (l'unica differenza č che i risultati li voglio in tabella o
sottomaschera per poterli modificare).
Credo che sto per impazzire!
Grazie mille


Per prima cosa quando rispondi scrivi DOPO e non prima del testo dei
messaggi precedenti.
Poi ho paura che devi chiarirci cosa intendi per Filtro in base maschera; se
usi il Filtro in base maschera di Access e generi il codice VBA che ti ho
consigliato in apertura di report Access non ti chiederà di digitare alcun
parametro; naturalmente nel codice VBA di cui sopra dovrai personalizzare il
nome della maschera.
Ma tu come origine record del report cosa hai?
Dovresti avere lo stesso oggetto che è origine record della maschera. Ho
invece il vago sentore di dubbio che tu, come origine record del report,
stai usando una query di selezione parametrica; se è così significa che hai
in testa una confusione enorme, mischiando il Filtro in base maschera con le
query di selezione parametriche i cui parametri sono contenuti in una
maschera.
Facci sapere.
[CUT]


 ha scritto nel messaggio
news:NN9Aa.32072$lK4.9...@twister1.libero.it...

Leggi la mia risposta all'altro tuo messaggio, e se lo ritieni opportuno
rispondi alle mie domande.
Ti consiglio di risolvere un problema alla volta: prima facciamo funzionare
il report filtrandolo in qualche modo e poi vedremo come filtrare una
maschera con la quale vuoi modificare i dati.
Mantieniti calmo e non impazzire; il vero problema č che stai tentando di
mettere insieme concetti di access in maniera sbagliata, avendo un idea
molto approssimativa di tali concetti; forse se studi un po' di piů Access,
guadagni tempo ed eviti di diventare pazzo.



Allora, il codice VBA funziona se lavoro su una maschera che prende origine
da una sola tabella. Qui invece ho una maschera che prende dati da una
tabella chiamata LIBRI, che però è collegata, per la maggior parte dei
campi, ad altre tabelle per mezzo delle chiavi. Il tipo di relazioni tra la
tabella LIBRI e le altre è di uno a molti (tutto questo l'ho dovuto fare per
creare nella maschera di inserimento dati delle caselle combinate per avere
dei menu' a discesa su ogni elemnto da inserire: per evitare le ripetizioni.
Quindi ogni casella combinata ha origine in una tabella specifica, ma va a
scrivere nella tabella LIBRI solamente la chiava dell'elemento ).
L'origine della maschera in tutto ciò è sempre la tabella LIBRI
naturalmente.
Quindi quando vado a creare il report se uso la creazione guidata e scelgo
di prendere da ogni tabella il campo che mi interessa, l'origine sarà una
combinazione di tutte le tabelle, e ogni volta che voglio aprire il report
dopo aver applicato il filtro in base a maschera mi chiede di inserire
nuovamente i dati: come se avesse riconosciuto quali voglio inserie, ma non
sa dove andarli a prendere.
Grazie Mille per il vostro aiuto, e perdonate la mia "ignoranza", ma non
crediate che non ho provato a sbattere la testa sui manuali!
Luca

 ha scritto nel messaggio
news:lPvAa.35254$lK4.1...@twister1.libero.it...

Tu potrai sfruttare i criteri del Filtro in base maschera di una maschera
per filtrare un report solo a condizione che i campi in base ai quali
effettui il filtro della maschera siano presenti sia nell'oggetto che è
origine record della maschera che nell'oggetto che è origine record del
report, in caso contrario la cosa, come puoi facilmente intuire, è
impossibile.
Invece tu, se non ho capito male, hai una tabella come origine record della
maschera ed una query come origine record del report.
Mi sembra di capire che la query ti serve per poter stampare la descrizione
di dati che nella tabella sono rappresentati dal codice; se così stanno le
cose, nella query, oltre alle descrizioni prese dalle tabelle collegate alla
tabella principale, inserisci ANCHE i relativi codici presi dalla tabella
principale, così che le descrizioni servono per essere stampate ed i codici
servono per filtrare il report; ti ricordo che non è affatto necessario che
i codici vengano visualizzati nel report.
E poi chi ti vieta di avere anche per il report la tabella come origine riga
ed usare anche nel report delle caselle combinate associate ai campi della
tabella principale, nella stessa maniera che hai fatto nella maschera?
Comunque per risolvere casi come questi, invece di caselle combinate nella
maschera associate al campi codice per visualizzarne la descrizione (la qual
cosa ti obbliga poi a crearti la query per stampare le descrizioni nel
report con i problemi che lamenti nell'uso dei filtri), prima di crearti sia
la maschera che il report, dovresti aprire la struttura della tabella
principale e, per i campi codice, eseguire L'Autocomposizione Ricerca... .
Così facendo, nella tabella resterà memorizzato il codice, ma sia nella
maschera che nei report verrà visualizzata la descrizione e non avrai
problemi ad usare il filtro della maschera per filtrare il report e non
avrai necessità di crearti alcuna query da usare come origine record del
report.


Grazie Mille per il tuo aiuto, sono filnalmente riuscito a far funzionare
tutto: hai detto un paio di cose che mi hanno "illuminato": avevo fatto un
po' di disastri con le relazioni fra tabelle e l'origine dei record!!!!
Grazie ancora
Luca