Newsgroup: it.comp.appl.access
Titolo: Ancora Casella Combinate

Come inserire in due campi diversi di una tabella, due valori provenienti da
una casella combinata?
mi spiego melio:
ho una casella combinata che e' popolata da una tabella TBLDATI, in maniera
che sia visibile solo la colonna DATI e non la colonna IDDATI, chiave
primaria della tabella TBLDATI.
Il valore DATI viene inserito quindi automaticamente nel campo DATI della
tabella TBLORDINI collegata alla tabella TBLDATI proprio tramite il campo
IDDATI.
Scegliendo un valore dalla casella combinata, quindi, il campo
corrispondente viene riempito correttamente, ma il campo IDDATI da sempre 0.
Vorrei che anche il campo IDDATI presentasse il valore corretto, cioe'
quello che rappresenta la riga selezionata nella casella combinata.
Grazie dell'aiuto
Andrea

 ha scritto nel messaggio
news:Fo997.61288$Pb6.3...@news1.tin.it...

1) Come sichiamano i 2 controlli della maschera associati ai due campi della
tabella TBLORDINI?
2) Come si chiama la casella combinata?
3) Quante colonne ha la casella combinata?
4) Cosa hai come Origine riga della casella combinata e se hai una query
quele è il suo codice SQL?
5) Come hai impostato la proprietà Colonna associata della casella
combinata?
6) Cosa hai come origine controllo della casella combinata.
Ritengo comunque che nella tabella TBLORDINI dovresti avere un solo campo,
quello relativo a IDDATI, l'altro è del tutto inutile.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 wrote in message
news:9k3frv$2j5c$1...@stargate1.inet.it...

Innanzitutto ti ringrazio per le puntuali risposte che mi dai sempre. Spero
tu possa aiutarmi anche questa volta.
Scusa il lungo quoting, ma magari e' utile!
Ti riassumo velocemente quello che sto tentando di fare, usando piu' o meno
i nomi veri, per farti capire:
tblsquadre: tabella che gestisce dati di squadre sportive
tblcal: elenco campionati calcio (es. allievi, dilettanti, etc.)
tblpvo: elenco campionati pallavolo (es. misto, ragazzi, etc.)
tblcal e tblpvo contengono due campi IdCampionato, chiave primaria, e
Campionato e sono collegate alla tblsquadre con la relazione IdCampionato
<---> IdCampionato
la maschera che gestisce le squadre ha un gruppo di opzioni con due pulsanti
CAL e PVO. A seconda della scelta, CasellaCombinata0, si popola dei nomi dei
campionati, prendendoli o dalla tblcal o dalla tblpvo e poi, scegliendone
uno, il dato viene scritto nel rispettivo campo della tblsquadre.
Una maschera adibita alla stampa funziona piu' o meno allo stesso modo, la
scelta dal gruppo di opzioni popola Elenco0 , una listbox con scelta
multipla estesa, che mi permette di stampare un report di squadre filtrate
in base alle scelte, con il procedimento che mi hai suggerito tu ieri, o
l'altro ieri.
Il problema e' che il procedimento si basa sull'idcampionato presente nella
tblsquadre. Questo pero' funziona solo se io inserisco manualmente i valori
1,2, etc. nel campo idcampionato, perche' automaticamente tale valore non ci
va!
Quindi volevo sapere se posso fare in modo che scegliendo un campionato
nella casella combinata, oltre a inserirsi correttamente il dato scelto nel
campo collegato "Campionato" della tblsquadre, venga inserito anche il
vaolre "IdCampionato" che a tale campionato corrisponde, che poi e' l'indice
del valore scelto nella casella combinata, in modo da avere stampe corrette,
senza dover aggiungere manualmente tutti i valori a IdCampionato.
La casella combinata l'ho costruita con l'autocomposizione, prendendo
l'origine dalla tblcal, scegliendo entrambi i campip, 'IdCampionato', chiave
primaria, e 'Campionato', senza mostrare la chiave primaria. Poi nel caso
venga scelto PVO dal gruppo di opzione, l'origine viene trasferita alla
tblpvo.
Mi sono dilungato un po' troppo.....
Spero tu possa darmi una mano, perche' 'sta cosa mi sta facendo morire!!
Ciao e grazie
Andrea


[CUT]

Visto che non hai risposto alle mie 6 domande, ti dico cosa ho capito.
Hai tre tabelle (tblsquadre, tblcal e tblpvo). Tutte e tre le tabelle
contengono due campi chiamati IdCampionato e Campionato.
La tabella tblsquadre contiene sia squadre di calcio che squadre di
pallavolo.
La tabella tblcal contiene solo dati relativi al campionato di calcio.
La tabella tblpvo contiene solo dati relativi al campionato di pallavolo.
Per le tabelle tblcal e tblpvo il campo IdCampionato rappresenta la chiave
primaria mentre nel campo Campionato c'è la descrizione del campionato.
Se i campi IdCampionato sono di tipo contatore è possibile che esista una
squadra di calcio che abbia lo stesso IdCampionato di una squadra di
pallavolo.
La tabella tblsquadre è in relazione uno-a-molti sia con la tblcal che con
la tblpvo tramite lo stesso campo: IdCampionato.
Se le cose stanno così è bene fermarsi un attimo; l'architettura delle
tabelle non mi sembra corretta.
A mio avviso non è giusto adoperare la stessa chiave esterna di una tabella
(IdCampionato della tblsquadre) per metterla in relazione con due tabelle
che non contengano dati omogenei.
Se, ad esempio, i campionati di calcio sono venti e i campionati di
pallavolo sono quindici, Access non ti permetterà mai di usare, per la
tabella tblsquadre, un IdCampionato maggiore di 15, in quanto troverebbe
corrispondenza nella tabella tblcal ma non troverebbe corrispondenza nella
tblpvo.
Quindi, a mio modesto parere, o usi due tabelle squadre (una per le squadre
di calcio in relazione con tblcal e una per le squadre di pallavolo in
relazione con tblpvo) oppure usi una sola tabella campionati che contiene
sia i campionati di calcio che i campionati di pallavolo.
Comunque sia, prima di risolvere il problema della casella combinata va
risolto questo problema.



Vedo che hai capito tutto. Questo mi fa pensare che la mia spiegazione non
sia poi stata cosi' penosa!!
Scherzi a parte, avevo alcuni dubbi anch'io sulla struttura, che in effetti
si sono rivelati dovendo risolvere il problema che ti ho descritto.
Penso che la soluzione migliore sia quella di fare una tabella unica per
campionati di calcio e pallavolo, e poi gestire la cosa diversamente.
Ti ringrazio comunque dell'attenzione, e spero di poter contare ancora sulla
tua gentilezza, come poi su quella di tutti gli altri del NG.