Newsgroup: it.comp.appl.access
Titolo: Ricerca in una maschera

Ho letto tutti i tread precedenti su questo argomento ma non ho ancora
risolto il mio problema che è il seguente:
vorrei mediante un pulsante inserito in una maschera fare una ricerca sulla
stessa (mi andrebbe bene anche un filtro in base a maschera)
Lo so che è un problema banale ma purtroppo non so programmare in VB (mi sto
muovendo per trovare materiale ed impararlo); c'è qualcuno che può postarmi
il listato intero per fare questa operazione?
Grazie mille
Ciao
Francesco

 ha scritto nel messaggio
news:8n3tt9$1sn$1...@nslave1.tin.it...

Per me non sarebbe domenica se non dovessi indicare a qualcuno come
impostare una ricerca.
Di modi ne esistono tanti; se però ti stai ancora acculturando su VBA, è
bene scegliere quello che non adopera affatto codice VBA: il filtro in base
a maschera (fra l'altro lo citi come soluzione a te gradita).
1) Apri la maschera che normalmente adoperi per effettuare gli aggiornamenti
della tabella di cui vuoi filtrare i dati
2) Sulla barra degli strumenti pigia il pulsante "Filtro in base a maschera"
3) Nella maschera vuota che ti compare inserisci nel campo di competenza la
chiave di ricerca
4) Sulla barra degli strumenti pigia il pulsante "Applica Filtro"
Ciao
Roberto

 4) Sulla barra degli strumenti pigia il pulsante "Applica Filtro"
Veramente vorrei evitare di fare queste operazioni dalla barra strumenti, mi
piacerebbe farle attraverso pulsanti nella maschera stessa.
Non esiste un codice universalmente adattabile per una ricerca di tipo
semplice?
Ciao

 ha scritto nel messaggio
news:8n798l$8r9$1...@nslave2.tin.it...

Un codice universale direi di no, però esistono degli esempi ed ancora
meglio, per il tuo caso, esiste l'Autocomposizione Controllo, con la quale
Access ti genera automaticamente un codice VBA che ti risolve in maniera
persanalizzata il problema. Anche con questa soluzione eviti di scrivere te
del codice VBA.
Provo ad indicarti la strada che devi seguire (anche se lo ho fatto meno di
una settimana fa ad un altro partecipante al NG).
Fermo restando che hai comunque una maschera (Maschera1) che è fatta in modo
da visualizzare i dati di una tabella o di una query, creati una seconda
maschera (Maschera2) che contiene una casella di testo non associata nella
quale poi digiterai la tua chiave di ricerca.
Avendo cura di verificare che nella Casella degli Strumenti sia attivato il
pulsante Autocomposizione Controllo, inserisci in Maschera2 un pulsante di
comando; durante l'Autocomposizione indicherai ad Access che con questo
pulsante vuoi aprire Maschera1 per visualizzare solamente i record filtrati
dal contenuto della casella di testo non associata.
Fatto tutto ciò, apri Maschera2, digita la chiave di ricerca e premi il
pulsante di comando.
Se hai delle difficoltà fatti vivo.
Roberto





Se ti interessa attivare nella stessa maschera una 
ricerca basta che apra quella maschera in modalità struttura. Fatto questo per 
mezzo della casella degli strumenti crei un nuovo pulsante che posizionerai dove 
meglio ti aggrada (se hai inserito l'autocomposizione quando questa inizia tu 
annulla). A questo punto ottieni una maschera con un nuovo 
pulsante ma che, anche se lo clicchi (dopo essere tornato in modalità maschera), 
non ottieni alcun effetto. Per assegnare al pulsante l'azione di creare il 
filtro, con il pulsante destro del mouse clicca sul pulsante appena creato. Si 
aprirà una maschera nella quale, tra le altre, esiste una scheda eventi. Dopo 
avervi cliccato, sempre con il mouse, devi cliccare a fianco dell'evento "su 
clic" (Evento "su clic" viene interpretato da access come cosa deve fare 
quando, su quel pulsante, l'utente vi clicca). Furoi dalla riga bianca 
appariranno tre punti ove tu cliccherai e sceglierai la voce "generatore di 
codice". Si aprirà così una finestra di Visual basic for application e tu 
inserirai la seguente riga di codice:


 


DoCmd.RunCommand 
acCmdFilterByForm
MsgBox "Scegli, nel campo che vuoi, il valore da 
cercare e poi premi il tasto di filtro (l'imbuto)", vbOKOnly + vbInformation, 
"Filtro in base a maschera"


 


La riga, quella in neretto, va scritta sotto la 
riga che contiene la parola Sub e comunque sopra la parola End Sub.


La seconda riga, se vuoi metterla, ti farà aprire 
una finestra di messaggio (il messaggio è quello tra virgolette, quindi puoi 
cambiarlo a tuo piacere - Filtro in base a maschera rappresenta il titolo di 
quella finestra e quindi puoi anche cambiarlo).


Scritto questo salva, chiudi la finestra di visual 
basic, salvi la maschera di access(che era in modalità struttura), riportala in 
visualizzazione maschera e prova il tuo pulsante. E' più difficle da spiegare 
che da fare......


ciao