Newsgroup: it.comp.appl.access
Titolo: QBF

Ripropongo un quesito annoso che io personalmente non sono mai riuscito a 
risolvere nonostante gli aiuti proposti dagli amici di questo newsgroup.
Una delle funzioni piu' frequentemente usate in un database sono le maschere 
di ricerca.
Se ad esempio presuppongo che ad un utilizzatore servono delle query basate 
su cognome, nome, data di ingresso e uscita, diagnosi ed intervento, 
l'ideale sarebbe avere una maschera in cui immetto i vari dati che mi 
servono, poi premo un pulsante e questo automaticamente mi manda in 
esecuzione la query con i parametri impostati.
Da quel che ho capito sotto access dovrebbero chiamarsi QBF.
L'implementazione di questo sistema pero' non sono mai riuscito a capirlo. 
Probabilmente va al di la delle mie (modeste) capacità di utilizzo di VBA.
C'è' qualcuno che dispone di un database di esempio che mi possa far capire 
esattamente i passi da implementare?
Finora ho sempre implementato la capacità di access dei filtri in base a 
maschera, che pero' ad un utilizzatore finale è sempre difficoltoso 
spiegare.
Grazie mille
Angelo 

 ha scritto nel messaggio
news:XXdWd.62860$QG6.1...@twister2.libero.it...

Ciao Angelo, ti parla uno che era nelle tue stesse situazioni non molto
tempo fa, poi fruendo della generosità dei creatori e dei Guru di questo
sito, (gente che non finirò mai di ringraziare) e fruendo degli esempi del
Sito Comune, ha imparato anche la tecnica Query By Form. Ti posso assicurare
che non è poi così difficile: si tratta di creare dei controlli non
associati su maschere (*) create senza utilizzare la creazione guidata, dare
un nome a questi controlli, che generalmente devono essere delle caselle
combinate o di riepilogo, e basare il loro contenuto collegando l'origine
riga (una delle proprietà) alle tabelle di riferimento. La query sarà quindi
eseguita con, nei Criteri, il classico riferimento
"Forms![nomemaschera(*)]![nomecontrollononassociato]", in altre parole,
prima di eseguire la query deve essere lanciata la maschera (*) con un
pulsante di comando o su un evento qualsiasi, scelti i criteri di ricerca
sulle caselle combinate e quindi eseguire la query o direttamente il report
o la maschera che devono rappresentare il risultato dell'esecuzione della
query stessa. Guarda bene sul sito comune, perchè ci sono davvero tantissimi
esempi.
Ciao
Gaetano.


Conosci già l'esempio di Ken Getz?
http://support.microsoft.com/?kbid=166634
In teoria c'è anche un esempio per A00:
http://support.microsoft.com/kb/262099/it
Ma il link per scaricare l'esempio non funzione.
L'uso è molto semplice. Il codice invece è avanzato e non facile a
capire ma ci sono commenti e forse se ti prendi il tempo di seguirlo
passo passo capisci cosa succede. Soppratutto devi seguire ogni
chiamata di una funzione (sono molte nel codice). Questo si fa
con un click destra del mouse soppra il nome della funzione e
scegliere "Definizione" (credo in italiana).
In principio:
Ken fa una copia della maschera originale, cambia alcuni proprietà,
aggiungie nella proprietà Tag di ogni controllo parametri per usare
dopo ed un bottone "OK" che chiama una funzione al click. Questa
funzione aggiungie una clausola WHERE al Record Source della
maschera originale, aprila e presenta il risultato della ricercha.
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
+info sulla prima Conferenza Italiana per Sviluppatori di Access (CISA1) 

 ha scritto nel messaggio
news:rAgWd.63069$QG6.1...@twister2.libero.it...

Allora ho capito male io?
o la mia risposta in qualche modo ha aiutato?
Ciao

 ha scritto nel messaggio
news:XXdWd.62860$QG6.1...@twister2.libero.it...

Se per tecnica QBF (Query By Form) intendi una query di selezione
parametrica filtrata dai criteri inseriti in una maschera di ricerca, penso
che non ci sia molto da aggiungere a quanto ha scritto gaetano.dizanni e
quanto troverai scritto nelle FAQ delle Sezioni Quries e Forms del Sito
Comune (link qui sotto).
Se invece con QBF intendi una tecnica che crea e registra a runtime una
query in base ai criteri scelti dall'utilizzatore in una maschera, allora
vai sul Sito Comune (link qui sotto) e nella Sezione Queries leggi la mia
FAQ intitolata "2.10 Come si può creare in maniera dinamica una query con la
tecnica QBF?". Naturalmente quello pubblicato in questa FAQ vuole essere
solo un piccolo esempio di tale tecnica.
Il vantaggio di questa soluzione rispetto alla precedente è che la query
così creata dinamicamente e poi registrata è una query personalizzata ma NON
è parametrica, quindi l'utilizzatore non dovrà ripassare i parametri ogni
volta che viene eseguita e la maschera dei parametri non deve risultare
aperta al momento della sua esecuzione; si risolve anche il problema di
evitare tutte le complicanze di programmazioni che si incontrano nel caso in
cui si debba aprire un recordset su una query parametrica.
-- 
Roberto
-----------------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
----------------------------------------------------

 ...
Come mai pensi che la cosa sia "cosi semplice"?
Ci sono metodi diversi per implementare una funzionalità QBF
(vedi le altre risposte) ma di solito non sono così universale e
semplice nel uso che l'esempio di Ken.
Il problema è che usa molte piccole funzione e seguire l'esempio
diventa una vera caccia. Sembra che non ha pensato in primo
luogo ad un esempio per mostrare la tecnica interna ma a offrire
un tool pronto che è facile da usare in ogni situazione.


 maschera originale, aprila e presenta il risultato della ricercha.
--
rgrds
SC
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ha scritto nel messaggio 
news:%NgWd.62540$lB4.1...@twister1.libero.it...

Ma è possibile impoirtare la maschera di Ken Getz nel mio database, io ho 
provato a farlo ma mi dice che i riferimenti nella list form sono errati. 
Grazie. 

 Grazie.
Mi dispiace, ma non so risponderti, in quanto non conosco la maschera di Ken
Getz; certamente quella tecnica è importabile in un tuo database, altrimenti
non avrebbe alcun valore.


 ha scritto nel messaggio 
news:%NgWd.62540$lB4.1...@twister1.libero.it...

La settimana prossima sono a casa un paio di giorni e mi dedichero' a questo 
problema andando a rivedere gli esempi sul dito comune.
Una curiosità: è da tanti anni che ti leggo su questo newsgroup, ma dato la 
tua conoscenza enciclopedica di access, mi sono sempre chiesto se appartieni 
a qualche gruppo di sviluppo di access oppure lo utilizzi come strumento di 
lavoro.
Inoltre colgo l'occasione per ringraziarti per l' incredibile lavoro che hai 
fatto per questo newsgroup (Qualche volta che ho buon tempo voglio 
raccogliere tutte le tue risposte che sono pero' un numero incredibile: 
penso che ci faresti un tomo da far invidia a Ken Getz)
Ciao Angelo

 Ciao Angelo
