Newsgroup: it.comp.appl.access
Titolo: Molte relazioni molti-a-molti

Il mio problema dovrebbe essere un classico, ma sono un povero dilettante.
Ho una tabella TbNomi e le tabelle TbTitolo, TbQualifica, TbCertificato,
TbSpecialità.
Per gestire titoli, qualifiche ecc. di ogni persona ho le tabelle di
collegamento TbPerTitolo, TbPerQualifica, ecc.
Nella maschera "Formazione" scelgo il nome con una Cbo e faccio apparire i
titoli, qualifiche, ecc. in 4 Caselle di riepilogo.
Domanda: voglio cancellare ad es. un certificato di un certo nome. Mi
piacerebbe selezionarlo nella casella di riepilogo..........e poi ? E'
possibile ? (come ?) Oppure devo seguire altre vie (4 maschere con
sottomaschere ?)
Spero di essermi spiegato.
Grazie a tutti di questo meraviglioso newsgroup !
Sandro

 ha scritto nel messaggio
news:a7lqf4$1bg$1...@rex.ip-plus.net...

Per semplicità ipotizziamo che tu abbia solo una TbNomi, una TbTitolo e
quindi una TbPerTitolo; quello che viene fatto per la casella di riepilogo
relativa ai titoli,  lo potrai poi fare anche per le altre tre caselle di
riepilogo.
Se la struttura di TbNomi è simile a:
IDNome        Contatore e chiave primaria
Nome            Testo
ecc. ecc.
Se la struttura di TbTitolo è simile a:
IDTitolo        Contatore e chiave primaria
Titolo            Testo
ecc. ecc.
Se la struttura di TbPerTitolo è simile a:
IDPerTitolo        Contatore e chiave primaria
IDNome             Numerico
IDTitolo              Numerico
ecc. ecc.
Se TbPerTitolo é in relazione uno-a-molti con TbNome tramite i campi IDNome
e con TbTitolo tramite i campi IDTitolo.
Se la maschera si chiama Maschera1 ed ha una visualizzazione a Maschera
singola  ed ha come origine record TbNome.
Se la casella di riepilogo non associata inserita in Maschera1 si chiama
ElencoTitoli, ha due colonne (di cui la prima non visibile) ed ha come
origine riga il seguente codice SQL:
SELECT DISTINCTROW TbPerTitolo.IDPerTitolo, TbPerTitolo.IDTitolo FROM
TbPerTitolo WHERE (((TbPerTitolo.IDNome)=[Forms]![Maschera1]![IDNome]));
A fronte dell'evento "Su clic" della casella di riepilogo ElencoTitoli
genera il seguente codice VBA:
Private Sub ElencoTitoli_Click()
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE TbPerTitolo.*," _
& "TbPerTitolo.IDPerTitolo " _
& "FROM TbPerTitolo " _
& "WHERE (((TbPerTitolo.IDPerTitolo)=" _
& Me!ElencoTitoli.Column(0) & "));"
DoCmd.SetWarnings True
Me!ElencoTitoli.Requery
End Sub
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


Roberto,
grazie infinite ! Letta la tua risposta, ho preso l'appuntamento dallo
psichiatra che mi dirà se ho davvero l'Alzheimer..., perché avrei dovuto
arrivarci senza scomodarvi. Ma rispondo per un altro motivo.
Non è la prima volta che vedo che tu completi una domanda, mettendo bene in
chiaro il contesto. Cosa che sarebbe compito di chi pone la domanda.
Apprezzo moltissimo il tuo sforzo, ma mi chiedo se non vuoi invitare i
partecipanti al group a sottoporre le loro domande seguendo lo schema che
usi tu. Penso che ne valga la pena, se poi lo dici tu, con la tua
autorità... Chi posta, come è successo a me, può essere reticente a farlo
perché crede di essere chiaro, ma chi legge... almeno io spesso non capisco
la domanda ! Oppure aspetto il responso del mio psichiatra ?
Sandro

 Sandro
--
