Newsgroup: it.comp.appl.access
Titolo: Maschere collegate. Help me, please :_((

Provo a riproporre in questi termini il mio problema:
Dalla maschera' Ordini' apro, cliccando su un pulsante,
la maschera 'DettagliOrdini'.
Come posso collegare i campi (master e  secondari)
delle due maschere.
Non riesco a inserire nuovi prodotti in DettagliOrdini,
perché, se ci provo, Access mi dice che devo avere
records collegati nella maschera Ordini.
100000000000000 grazie :)
Leo
PS: potrei risolvere usando una sottomaschera ma
      chi sta in alto richiede il pulsante!

records collegati nella maschera Ordini.
Inserire record su "Dettagliordini" ha senso solo se hai già inserito
il record su 'Ordini' a cui tali righe devono essere associate;
dall'errore che riporti sembra che tu cerchi di aggiungere righe a
Dettagli ordini senza avere il corrispondente record sulla tabella
Ordini; ed inoltre sembra che tu abbia anche impostato l'integrità
referenziale tra le due tabelle: o sbaglio ?
Se è così, potresti risolvere inibendo il pulsante del dettaglio fino
a quando l'utente non ha inserito un nuovo record in Ordini, quindi
aprire la maschera "Dettagliordini" il cui recordsource potrebbe
essere qualcosa del tipo:
SELECT * FROM Dettagliordini WHERE
ID_Ordine=[Forms]![Ordini]![ID_Ordine]
dove ID_Ordine è un campo di tipo contatore nella tabella Ordini ed un
campo Intero lungo nella tabella Dettagliordini.
Questa è l'idea grossolana: ci sono ancora alcuni problemi da
risolvere, ma intanto pensa se potrebbe fare al caso tuo e poi la
raffiniamo.
Vincenzo Turturro
---------------------------------------------------------
Se no diventiamo tutti **** dai portatili o peggio ancora 
provetti poeti fiorentini come vturturro.
(Così disse Ivan Lelli Ven 25 Aug 2000 09:34:52 +0200)
---------------------------------------------
il sito comune di it.comp.appl.access:
http://www.sitocomune.com/
---------------------------------------------
E quello di it.comp.as400
http://www.clavis.it/as400/
---------------------------------------------

 ha scritto nel messaggio news:3b27c5c...@news.tiscalinet.it...

Anch'io avevo avuto lo stesso dubbio quindi
ho provato ad inserire degli ordini 'vuoti'
(solo NumeroOrdine e DataOrdine),
aggiungendo successivamente i prodotti (dettagli).
Così facendo ho scoperto che non è questa
la fonte del mio problema.
Credo che il problema sia il seguente:
-    supponiamo che in Ordini esista  IDOrdine = 1
-    supponiamo che per quest'ordine non sia stato
      inserito nessun prodotto in DettagliOrdini.
Qualsiasi query io effettui su DettagliOrdini con
IDOrdine = 1 ottengo come risultato Null.
Di conseguenza la maschera che andrò ad aprire,
generata o filtrata con IDOrdine = 1,
non avrà nessun record e nessun riferimento!
Ho purtroppo notato un altra cosa.
Ho usato 'Crea una maschera mediante una creazione guidata'
scegliendo le tabelle Ordini e DettagliOrdini e
la struttura 'Maschere collegate'.
Ho selezionato nella prima maschera un ordine
che contenesse già dei prodotti e ho poi cliccato
sul bottone, aprendo la maschera dei dettagli;
questa visualizzava correttamente i miei prodotti;
anche il valore di IDOrdine era corretto.........
finché non mi spostavo sulla casella * (quella
per un nuovo inserimento) dove mi ritrovavo
con IDOrdine = Null (o 0 o comunque il valore
che si sceglie per inizializzare il campo).
Ho risolto il problema inserendo su questa maschera
una sottomaschera, sempre associata a DettagliOrdini,
e usando IDOrdine come campo collegato.
(poco elegante esteticamente ma funzionante).
Rimane comunque il fatto che mi aspettavo di trovare
il valore corretto di IDOrdine anche nella casella * (nuovo inserimento).
Ti ringrazio per l'interesse e confido nell'aiuto
di tutti perché stò problema mi sta facendo
perdere un sacco di tempo :(
Grazie
    Leo

 ha scritto nel messaggio
news:3b276...@news.dada.it...

Io di solito faccio cosě:
- creo nella maschera che devo aprire, nel tuo caso DettaglioOrdini, una
caselle di testo non associata che chiamo xIdOrdine;
- nell'evento "prima di aggiornare" della maschera associo il valore di
xIdOrdine al controllo legato IdOrdine:
'---------
Me!IdOrdine = Me!xIdOrdine
'---------
- nel bottone della maschera che chiama il dettaglio degli ordini inserisco
il codice che associa il valore dell'id al controllo sulla maschera del
dettaglio:
'---------
Docmd.OpenForms "DettaglioOrdini"
Forms!DettaglioOrdini!xIdOrdine = Me!IdOrdine
'---------
Ciao.


Mi sono dimenticato di inserire un refresh prima di richamare la maschera:
'---------
If Me.Dirty Then Me.Refresh


       chi sta in alto richiede il pulsante!
Usa maschera e sottomaschera, con la sottomaschera non visibile e usa il
pulsante x renderla visibile.
--
Silvio


 ha scritto nel messaggio
news:nG9W6.2053$T52....@news.infostrada.it...

Il mio programmino attuale usa la struttura maschera-sottomaschera,
ma i capi chiedono di poter visualizzare tutta la lista degli ordini
(e per ognuno di questi un pulsante che mi apre una maschera
dove posso inserire/modificare i prodotti). Mi ritrovo quindi
costretto a usare maschere continue e perciò....addio sottomaschera!:((
Grazie comunque :)
Leo_duca

Grazie all'aiuto di tutti sono riuscito a venirne a capo!!! :))))))))
(grazie anche a Roberto, vedi thread "Apri maschera con parametri"
aperto martedì 12 giugno 2001 16.07")
Con le varie soluzioni proposte non riuscivo
a inserire un nuovo prodotto in quanto
non veniva mantenuto il riferimento all'ordine selezionato
(anche se, sinceramente, non sempre ho capito il perché!!!).
Ad ogni modo, ragiona su questo... ragiona su quello...
ho risolto aprendo, anzichè una maschera
associata a DettagliOrdini e filtrata con IDOrdine,
ma una maschera associata a OrdiniClienti,
filtrata con IDOrdine... con una sottomaschera
associata a DettagliOrdini e il campo IDOrdine
collegato a quello della prima!!!
Et voilà, les jeux sont fait! (seeeee... adesso dico così!:)))))))))
Ora mi sto prendendo a morsi perchè, a veder la soluzione,
mi vien male a pensare che ci sto dietro da......
beh lasciam perdere và!:-)
Ancora 1000 grazie a tutti!!!!!!!!!!!!!!
Leo_duca