Newsgroup: it.comp.appl.access
Titolo: Inserire prodotti in un ordine

Per quanto stia  leggendo libri su libri,l'inesperienza si fa sentire
Quindi mi rivolgo a chi ne ha + me
Ho una tabella prodotti (sono circa 20.000)
Suddivisi in categorie e classi
(quindi 3 tabelle:
Classi:
IDClasse
Classe
Categoria
IDCategoria
IDClasse
Categoria
IDprodotti
IDCategoria
Prodotto
Codice prodotto (per alcuni è=, quindi non può essere chiave primaria)
Adesso vorrei poter scegliere il prodotto inserendo prima la classe
per restringere la ricerca, quindi la categoria e da qui il prodotto
(che per ogni categoria sono in numero di circa 50)
Selezionato il prodotto, poterlo inserire nell'ordine
(naturalmente si dovrebbe poter inserire più prodotti)
Intanto continuo a leggere i miei libri...
Grazie in Anticipo a Tutti!!!

 (naturalmente si dovrebbe poter inserire più prodotti)
OK, ma la maschera come l'hai impostata?
--
Silvio
il sito comune di it.comp.appl.access:
http://www.sitocomune.com


Qui casca l'asino (sarei io!) per adesso non ho trovato nessuna
soluzione efficiente...in realtà vorrei poter selezionare il prodotto
direttamente dalla maschera degli ordini, 
Forse è meglio ripensarci un po' su e poi ripostare il quesito
Grazie

 ha scritto nel messaggio
news:3b092dc...@News.CIS.DFN.DE...

Hai un codice univoco (magari parlante) x ogni articolo? Usa quello e non
fare selezioni successive di categorie e classi.
In alternativa (ma mi sembra macchinoso), potresti avere una maschera Ordini
con sottomaschera DettaglioOrdini e inserire nella maschera Ordini un
controllo casella combinata x le categorie, un controllo casella combinata x
le classi e un controllo casella combinata per i prodotti (tutti non
associati); su dopo aggiornamento di quest'ultimo, vai a copiare il valore
nel controllo opportuno della sottomaschera DettaglioOrdini.



Anche se macchinoso mi sembra la scelta migliore
infatti ho già fatto una sottomaschera a schede e nella prima dovrei
mettere le caselle combinate per scegliere classe e categoria e quindi
prodotto
E qui sta il problema...

 E qui sta il problema...
... e cioè? ...



Grazie per la pazienza immensa....
Per adesso ho una casella combinata che mi permette di scegliere il
prodotto, ma quando la apro mi fa scorrere tutti i prodotti (sono
molto + di mille e anche il tempo per aprirsi è biblico), se invece
riesco a restringere la ricerca tramite scelta di classe e quindi di
categoria....tipo:
CasellacombinataClasse->scelgo la classe
CasellaCombinataCategoria->solo le categorie della classe selezionata
CasellaCombinataProdotto->solo il prodotto della categoria selezionata
Spero di essermi spiegato
Mentre ne parlo mi sembra + semplice di quello che penso o sbaglio?
Grazie ancora....

 ha scritto nel messaggio
news:3b0ab0aa...@News.CIS.DFN.DE...

Tu parlane ancora e vedrai che ci arrivi da solo... bisogna essere attenti a
tutto ciò che Access ci fa vedere nelle proprietà...
vabbè, te lo dico...
(guarda che è + difficile da spiegarlo che a farlo!)
nella CasellacombinataClasse metti come Tipo origine riga Tabella/query e in
Origine riga la tua tabella Classi;
nella CasellacombinataCategoria metti come Tipo origine riga Tabella/query e
in Origine riga la tabella Categoria, poi premi i ... (3 puntini) a fianco e
vedrai che ti apre un generatore di query; a questo punto, aggiungi i 3
campi della tabella e nella colonna IDClasse scrivi, nei criteri,
[Forms]![TuaMaschera]![CasellacombinataClasse] (e lo potevi fare anche qui
con il generatore di espressioni, cioè i 3 puntini), chiudi senza salvare e
rispondi affermativamente alla domanda che ti viene fatta.
Potrai notare che in Origine riga ora hai un'espressione SQL corrispondente
a quanto scritto nel generatore di query, e cioè una cosa del tipo:
SELECT [Categoria].Categoria, [Categoria].IDCategoria, [Categoria].IDClasse
FROM [Categoria] WHERE
((([Categoria].IDClasse)=[Forms]![TuaMaschera]![CasellacombinataClasse]));
inserisci su dopo aggiornamento della CasellacombinataClasse una procedura
evento tipo
Private Sub CasellacombinataClasse_AfterUpdate()
  Me.CasellacombinataCategoria.Requery
End Sub
e il gioco è fatto.
Questo almeno tra le Classi e le Categorie. Naturalmente potrai operare allo
stesso modo con la CasellaCombinataProdotto, ma questo ti rimane come
compito a casa... :-))



Ho fatto anche il compito a casa  e aprendo solo la sottomaschera
funziona benissimo, invece aprendo la maschera principale con la
sottomaschera tutte le volte esce un bel messaggio di Immissione
parametri per forms![nomesottomaschera[.casellacombinatacategoria
faccio annulla, quindi scelgo la classe e poi mi esce un'altro
messaggio:Immissione parametri
forms![nomesottomaschera].casellacombinataclasse e cosě per la scelta
dei prodotti
Abbi pazienza...


 dei prodotti
Mah, i controlli li avrei messi nella maschera e non nella sottomaschera.
Comunque l'errore ti dice che non stai indirizzando i controlli in modo
corretto, cioè, se si tratta di una sottomaschera, il controllo verrà visto
come:
[Forms]![TuaMaschera]![ControlloSottoMaschera].[Form]![CasellaCombinataCateg
oria]
... almeno così mi pare di ricordare.
--
