Newsgroup: it.comp.appl.access
Titolo: Query e criteri di selezione!

Ciao a tutti e buona continuazione con le feste!
Cerchero' di spiegarmi; situazione:
ho una tabella con un ID contatore chiave primaria e un campo che identifica
i nomi delle torte (intese come dolci). Un'altra tabella con un ID contatore
chiave primaria e un campo che identifica gli ingredienti.
Ho fatto una tabella "ponte" che mi mette in relazione le due precedenti e
mi permette di assegnare gli ingredienti, per esempio sale, farina e uova
alla mia torta 1,  farina, uova e zucchero alla torta 2 e cosi' via.
Il problema e' che dovrei estrapolare tutte le torte che hanno per esempio
sia il sale che la farina (quindi nel mio esempio solo la torta 1). Vorrei
poter selezionare tutti gli ingredienti che voglio che mi andranno a fare
poi il filtro nella query.
Mi scuso gia' subito perche' sicuramente non sono riuscito a spiegarmi e
ringrazio anticipatamente tutti quanti.
A disposizione per eventuali chiarimenti! grazie
Flavio

 ha scritto nel messaggio
news:lL836.205626$hk4.7...@news.infostrada.it...

Ipotizziamo che la struttura della tue tre tabelle sia la seguente:
Torte
------
IDTorta            Contatore e chiave primaria
DescrTorta       Testo
Ingredienti
----------
IDIngrediente    Contatore e chiave primaria
DescrIngr          Testo
TortIngr
--------
ID                    Contatore e chiave primaria
IDTorta            Numerico
IDIngrediente    Numerico
e che la tabella TortIngr sia in relazione uno-a-molti con la tabella Torte
in base al campo IDTorta e in relazione uno-a-molti con la tabella
Ingredienti in base al campo IDIngrediente.
Come esempio ipotizziamo che gli ingredienti da scegliere siano da 1 a 4.
Creati una maschera chiamata Torte che abbia come origine record la tabella
Torte e una visualizzazione a Maschere continue.
Creati un'altra maschera chiamata Maschera1 non associata ad alcuna tabella
e con visualizzazione a Maschera singola.
Con l'autocomposizione controllo inserisci in Maschera1 quattro caselle
combinate non associate basate sulla tabella Ingredienti e chiamale
rispettivamente Ingr1, Ingr2, Ingr3, Ingr4.
Inserisci in Maschera1 un pulsante di comando e a fronte dell'evento "Su
clic" del pulsante genera il seguente codice VBA:
On Error GoTo Err_Comando6_Click
    Dim stDocName As String
    Dim Pippo As String
    Pippo = ""
If Not IsNull(Me!Ingr1) Then
    Pippo = "[IDTorta] IN " & _
    "(Select IDTorta From TortIngr Where " & _
    "IDIngrediente =" & Me!Ingr1 & ") "
End If
If Not IsNull(Me!Ingr2) Then
    If Pippo <> "" Then
       Pippo = Pippo & " AND "
    End If
    Pippo = Pippo & "[IDTorta] IN " & _
    "(Select IDTorta From TortIngr Where " & _
    "IDIngrediente =" & Me!Ingr2 & ") "
End If
If Not IsNull(Me!Ingr3) Then
    If Pippo <> "" Then
       Pippo = Pippo & " AND "
    End If
    Pippo = Pippo & "[IDTorta] IN " & _
    "(Select IDTorta From TortIngr Where " & _
    "IDIngrediente =" & Me!Ingr3 & ") "
End If
If Not IsNull(Me!Ingr4) Then
    If Pippo <> "" Then
       Pippo = Pippo & " AND "
    End If
    Pippo = Pippo & "[IDTorta] IN " & _
    "(Select IDTorta From TortIngr Where " & _
    "IDIngrediente =" & Me!Ingr4 & ") "
End If
    stDocName = "Torte"
    DoCmd.OpenForm stDocName, , , Pippo
Exit_Comando6_Click:
    Exit Sub
Err_Comando6_Click:
    MsgBox Err.Description
    Resume Exit_Comando6_Click
Ora apri Maschera1, seleziona dalle caselle combinate da 1 a 4 ingredienti,
premi il pulsante di comando: ti si aprirą una maschera che contiene i nomi
delle torte che contengono gli ingredienti selezionati.
Buon Anno, e non mangiare troppe torte. ;-)
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/
---------------------------------------------

Dimenticavo: il pulsante di comando si deve chiamare Comando6.
AriBuon Anno


 ha scritto nel messaggio
news:lL836.205626$hk4.7...@news.infostrada.it...


 ha scritto nel messaggio
news:lL836.205626$hk4.7...@news.infostrada.it...

oltre al metodo che ti ha indicato Roberto nel caso vuoi ottenere la
risposta direttamente dalla query:
in Criteri , in visualizzazione struttura della query,nel campo Ingredienti
puoi digitare:
farina Or sale
verranno visualizzate solo le torte che hanno per ingredienti sia il sale
che la farina; nel caso  sia interessato anche lo zucchero : farina Or sale
Or zucchero
giuseppe
p.s.
se sono costruite con ingredienti naturali puoi mangiare tutte le torte che
desideri


Non vorrei sbagliarmi ma, da una query che abbia in join tutte e tre le
tabelle, nella maniera da te indicata selezioni le torte che contengano la
farina o il sale o lo zucchero; se non ho capito male, Flavio vuole
selezionare le torte che contengano sia la farina, sia il sale che lo
zucchero.





 me...
Non lo dire due volte, sono un golosone tremendo .
Ancora auguri.


 Roberto
se in criteri si digita farina Or  sale Or Zucchero la query visualizzerà
solo le torte che hanno i tre componenti e no solo uno
buon anno
giuseppe