Newsgroup: it.comp.appl.access
Titolo: Codice per criteri di selezione

Salve a tutti,
Da una tabella contenente circa 3.000 articoli dovrei stampare degli elenchi
filtrati.
Vorrei avere la possibilita' di fare la selezione su diversi campi (da 1a
5).
Ipotizzando che i campi potrebbero essere: TipoProd; AnnoCostruz; Fornitore
e Categoria avrei la necessita' di poter selezionare (magari da una
maschera) uno o più campi contemporaneamente -  es.: una volta potrebbe
essere TipoProd e AnnoCostruz; oppure solo AnnoCostruz (da .. A ..); oppure
Categoria e TipoProd e AnnoCostruz - . Chiedo se e' possibile fare questo
tramite codice in quanto altrimenti penso dovrei fare diverse query.
Ringrazio in anticipo chiunque vorra' aiutarmi.
Cordiali saluti a tutti.
Gabriele

 ha scritto nel messaggio
news:925uv2$knn$1...@lacerta.tiscalinet.it...

 una sequenza potrebbe essere la sequente:
1)costruzione del report
2)costruzione della maschera
2.1) pop up: si
2.2) aggiungi tanta caselle combinate quante sono le scelte che desideri e
alla Proprietà Tag digita il nome del controllo o del campo da filtrare.
2.3) inserisci un pulsante di comando e all'evento clic il seguente codice:
Dim strSQL As String
If Me!Filter1 <> "" Then
    strSQL = "[" & Me!Filter1.Tag & "]" & " = " & Chr(34) & Me!Filter1 &
Chr(34) & " And "
End If
If Me!Filter2 <> "" Then
    strSQL = strSQL & "[" & Me!Filter2.Tag & "]" & " = " & Chr(34) &
Me!Filter2 & Chr(34) & " And "
end if
......................................
......................................
If strSQL <> "" Then
        strSQL = Left(strSQL, (Len(strSQL) - 5))
        Reports![Report].Filter = strSQL
        Reports![Report].FilterOn = True
End If
giuseppe

 ha scritto nel messaggio
news:925uv2$knn$1...@lacerta.tiscalinet.it...

Oltre alla soluzione suggerita da Giuseppe puoi anche fare così:
1) Creati una maschera (chiamala Maschera1) che contiene 4 caselle di testo
(o se preferisci combinate) non associate e chiamale ChiaveTipoProd,
ChiaveAnnoCostruz, ChiaveFornitore e ChiaveCategoria.
2) In Maschera1 inserisci un plulsante di comando a fronte del cui evento
"Su clic" generi il seguente codice VBA per aprire il report:
Dim stDocName As String
stDocName = "NomeReport"
DoCmd.OpenReport stDocName, acPreview
3) Creati una query (chiamala Query1) basata sulla tua tabella.
4) Nela riga "Criteri:" del campo TipProd di Query1 scrivi:
Like IIF(IsNull([Forms]![Maschera1]![ChiaveTipProd]);
"*";[Forms]![Maschera1]![ChiaveTipProd])
5) Nela riga "Criteri:" del campo AnnoCostruz di Query1 scrivi:
Like IIF(IsNull([Forms]![Maschera1]![ChiaveAnnoCostruz]);
"*";[Forms]![Maschera1]![ChiaveAnnoCostruz])
6) Nela riga "Criteri:" del campo Fornitore di Query1 scrivi:
Like IIF(IsNull([Forms]![Maschera1]![ChiaveFornitore]);
"*";[Forms]![Maschera1]![ChiaveFornitore])
7) Nela riga "Criteri:" del campo Categoria di Query1 scrivi:
Like IIF(IsNull([Forms]![Maschera1]![ChiaveCategoria]);
"*";[Forms]![Maschera1]![ChiaveCategoria])
8) Come origine record del tuo report metti Query1 anziché il nome della tua
tabella.
A questo punto apri Maschera1, digita a tuo piacimento le chiavi di ricerca,
lasciando vuote le caselle di testo (o combinate) relative ai campi sui
quali non vuoi effettuare la selezione; premi il pulsante di comando.
Buon Anno
--
Roberto
---------------------------------------------
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/
---------------------------------------------

 wrote in messa
cut
Ma hai l'orologio che ti va male ho hai postato questo messaggio proprio
alle 23.59 della vigilia?
Ammappate ;-)
Sib
--
------------------------------------------------------
il sito comune di it.comp.database.access:
http://members.xoom.it/it_db_access
------------------------------------------------------
La mia home (ancora non completa)
http://digilander.iol.it/syb
------------------------------------------------------
4000 anni fa', il saggio egizio Ptahhotep scrisse:
"... perche' non esistono saggi per nascita."
------------------------------------------------------
Saturiamo ECHELON:
bomba saddam attentato medio oriente

 wrote in message
925uv2$knn$1...@lacerta.tiscalinet.it...

Un sincero ringraziamento.
Ho seguito i suggerimenti e tutto funziona perfettamente.
Buon anno a tutti
Gabriele

 Ammappate ;-)
Beh, dai... la vigilia di natale non č sempre cosě sentita...
Mi sarei sorpreso di piů se fosse stata la stessa ora del 31-12
Antonio

 wrote in message
FZt26.191694$hk4.7...@news.infostrada.it...

Come Lbo che alle 0.01 dell'01/01/2000 cercava qualcuno che gli rispondesse?
(hehehe)
Sib

 (hehehe)
Beh, in un minuto hai già fatto il brindisi, cantato il valzer delle candele
e tirato qualche raudo e/o cipollotto!!!
Antonio