Newsgroup: it.comp.appl.access
Titolo: variazioni dal modello nortwind

ciao a tutti
rieccomi qui con i primi quesiti
ho realizzato un piccolo db ordini costruendolo sul modello northwind...
ho realizzato una maschera ORDINI con sottomaschera ARTICOLI che mi
permette prima di scegliere il cliente che effettua l'ordine e poi nella
sottomaschera di scegliere gli articoli..
nel modello northwind la maschera articoli è in formato foglio dati
mentre io ho la necessità che sia visualizzata come maschera in quanto 
ci devo inserire la foto e poter scorrere gli articoli mediante dei
pulsanti freccia 
la sottomaschera ha però una struttura molto più complessa di quella
proposta dal db d'esempio in quanto oltre che a far visualizzare in
sequenza gli articoli (15000 circa) mi deve permettere di effettuare
ricerche varie e soprattutto di potermi spostare tra le varie categorie e
sottocategorie attraverso due caselle di riepilogo nominate
rispettivamente ELENCO (per le categorie) e MiaCombo (per le
sottocategorie) se imposto codice e origini riga usando solo la
sottomaschera ARTICOLI tutto funziona alla perfezione, se invece tento di
aprire la maschera principale (ORDINI) che contiene la sottomaschera
ARTICOLI iniziano i primi problemi:
ogni qualvolta faccio click su ELENCO mi viene chiesta la posizione di
MiaCombo
il codice è
ELENCO:
SELECT "<TUTTE>" As Categoria  FROM ARTICOLI UNION SELECT DISTINCT
ARTICOLI.Categoria  FROM ARTICOLI  WHERE (((Categoria) Is Not Null))
ORDER BY Categoria;
MIACOMBO:
SELECT Null As ARTICOLI, "<TUTTE>" As SottoCategoria  FROM ARTICOLI
UNION SELECT DISTINCT Categoria, Sottocategoria FROM ARTICOLI WHERE
(((Categoria)=[Forms]![ARTICOLI]![Elenco])) ***QUI MI DA ERRORE***
ORDER BY Categoria, Sottocategoria;
A fronte dell'evento "Su clic" di ELENCO:
Private Sub Elenco_Click()
Me!CercaSottocategoria = Null
If Me!Elenco = "<TUTTE>" Then
    Me!CercaCategoria = Null
Else
    Me!CercaCategoria = Me!Elenco
End If
Me!MiaCombo.Requery
Me.Requery
End Sub
e a fronte dell'evento "Dopo aggiornamento" di MIACOMBO
Private Sub MiaCombo_AfterUpdate()
If Me!MiaCombo.Column(1) = "<TUTTE>" Then
    Me!CercaSottocategoria = Null
Else
    Me!CercaSottocategoria = Me!MiaCombo.Column(1)
End If
Me.Requery
End Sub
Nella query che è origine record della ARTICOLI:
Like Nz([Forms]![ARTICOLI]![CercaCategoria];"*")
e nei criteri relativi alla Sottocategoria scrivi:
Like Nz([Forms]![ARTICOLI]![CercaSottocategoria];"*")
ho segnato dove mi da errore  con gli asterischi
da tener presente (mi ripeto quindi) che aprendo la maschera articoli
tutto funziona bene ma da errore solo se la maschera ARTICOLI è
sottomaschera di ORDINI mi chiede il parametro maschere!ARTICOLI!Elenco
sia all'apertura della maschera ORDINI sia per ogni click su ELENCO
scusate se mi sono dilungato un bel po ma ho ritenuto opportuno farlo
affinchè sia chiara la situazione...
attendo risposte e vi ringrazio per l'attenzione
Nicola

 Nicola
Ciao Nicola,
il problema è proprio dovuto a quello che dici siccome Articoli è
sottomaschera di ordini nella combo non puoi riferirti ad esso come
[Forms]![ARTICOLI]![Elenco]  ma dovrai dare il percorso completo:
[Forms]![ORDINI]![ARTICOLI]![Elenco]
Ciao
Cinzia

 il problema è proprio dovuto a quello che dici siccome Articoli è
Magari il problema era il subject
Antonio

 ha scritto 
nel messaggio 
news:eaiXd.1687$zZ1....@twister1.libero.it
...

bravo bravo Nicola, continua 
così...


 


MAssimiliano



 ha scritto nel messaggio 
news:pan.2005.03.08....@tiscalinet.it...

Se la casella di riepilogo è nella sottomaschera il percorso per arrivare al 
valore è:
Forms!Ordini!Articoli!elenco
Ciao.
-- 
Sergio MAZZA 

 Ciao.
ora funziona, ma come in tutti i casi che si rispettano, risolvendo un
problema ne esce uno nuovo...
se collego la maschera ORDINI con la sottomaschera ARTICOLI
attraverso il campo IdOrdine accade che non mi mostra nessun articolo e
che quindi non posso scorrerli per effettuare l'ordine, il problema credo
che sia dovuto al fatto che, a causa del formato della sottomaschera
ARTICOLI, le due tabelle non comunicano tra loro...
ho anche provato a dividere la maschera ARTICOLI nel formato
maschera/sottomaschera dove maschera (prodotti) e sottomaschera
(DettaglioOrdini) ma sembra che i campi IDOrdine continuino a non
comunicare tra loro come dovrebbe invece accadere..
ma come risolvo?
grazie
Nicola

 ha scritto nel messaggio
news:pan.2005.03.08....@tiscalinet.it...

Ciao Nicola,
la sottomaschera "naturale" della maschera ordini è quella che ha come
origine la tabella dettaglioOrdine.
Per il fatto che nel momento in cui inserisci un ordine non vedi nessun
dettaglio rodine è normale in quanto devi ancora inserirli, per poter vedere
gli articoli da inserire nel dettaglio ordine dovrai trasformare la textBox
dell'articolo in una comboBox che prenda i dati dalla tabella artioli in
modo tale che tu possa fare la selezione.
Saluti
Cinzia

 Cinzia
ma io nn devo fare la selezione...
devo poter scorrere gli articoli con i tasti freccia avanti e indietro,
cosa che la combox non mi permetterebbe di fare...
se vuoi posso allegare una schermata catturata dell'interfaccia del db in
modo che sia piu chiara l'idea...
Nicola

 ha scritto nel messaggio
news:pan.2005.03.09....@tiscalinet.it...

Ciao Nicola,
mi sfugge qualcosa:
hai degli ordini già fatti e vuoi vedere gli articoli inseriti in
quell'ordine? oppure devi fare un ordine vuoi vedere tutti gli articoli "a
listino" e li aggiungi al dettaglio ordine cliccando su un bottone apposito?
In questa seconda ipotesi la maschera Articoli non deve avere nessuna
relazione con la maschera Ordini.
Però forse è meglio che ci spieghi come hai strutturato le tabelle e cosa
vuoi ottenere se non mi sa che non ci capiamo!
Cinzia



mi sa tanto che hai ragione..
gli ordini li devo effettuare partendo dalla visualizazzione di tutti gli
articoli...
per poterli poi consultare creerò un'altra maschera se ce n'è bisogno...
ora in effetti nei giorni scorsi ho provato ad eliminare la relazione tra
ORDINI ed ARTICOLI ed in effetti funziona però a quel punto non mi è
permesso memorizzare il campo IDORDINE nei campi correlati della
sottomaschera ARTICOLI mostrandomi un mess di errore, dopo aver inserito
il numero di pezzi,che mi dice che un campo non può contenere il valore
null (trattasi appunto del campo IDORDINE che nonostante nelle relazioni
sia collegato ad IDORDINE, non mi viene mostrato in ARTICOLI)...
come proseguo?
grazie 1000 intanto per l'interessamento e la pazienza :)
Nicola


Ciao Nicola,
in fase di inseriemnto dell'ordine avrai Maschera con i dati dell'ordine
(ID_Ordine, DAtaOrdine, ID_Cliente ecc)
Nella sottomachera articoli non collegata dovrai mettere un pulsante
Aggiungi All'ordine che dovrà fare una query di accodamento sulla tabella
Dettaglio Ordine dove inserirà l'ID_ordine e l'ID_articolo .... oppure
aggiungerà l'id_Articolo ad un'altra sottomaschera Dettaglio Ordini
collegata a Ordini ....
Non puoi inserire l'id_Ordine nella tabella Articoli perchè non ha senso
mettercelo.... (ogni articolo ha una sua identità indipendentemente
dall'ordine, sempre se ho capito quello che stai tentando di fare....)
Ciao
Cinzia

 dall'ordine, sempre se ho capito quello che stai tentando di fare....)
in pratica dovrò poter scorrere gli articoli ed inserendo nel campo QTA
il numero di cartoni da ordinare considererò quell'articolo come
ordinato... l'unico campo modificabile della maschera articoli è quindi
QTA, lasciando vuoto e premendo invio mi sposto sull'articolo
successivo, modificando tale campo e invio considero l'articolo come
ordinato...
questo è tutto...
Nicola

 ha scritto nel messaggio
news:pan.2005.03.10....@tiscalinet.it...

Ciao Nicola,
è sbagliato l'approccio, la qta non la devi inserire nella tabella articoli
ma nella tabella dettaglio ordini  perchè è una informazione che lega
quell'ordine a quell'articolo.... se tu la metti nella tabella articoli,
quando farai un nuovo ordine ti ritroverai con il campo qta già
compilato....
saluti
Cinzia