Newsgroup: it.comp.appl.access
Titolo: Problema con combo dipendenti tra di loro

Ciao a tutti,
non riesco proprio a risolvere questo problema.
In una sottomaschera (Continua) ho 3 combo dipendenti l'una dall'altra
ovvero in base al valore nella combo1 ho una lista filtrata nella
combo2 e, a sua volta, in base al suo valore ho una lista filtrata
nella combo3.
Ovviamente lavoro con codici numerici e uso tabelle di appoggio per
avere le descrizioni.
Sull'evento AfterUpdate della combo1 e combo2 ho aggiunto il codice
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70 (oppure
me.Refresh)
per ottenere l'aggiornamento all'uscita di ogni selezione.Fin qua
tutto ok.
Il problema si presenta dopo l'inserimento del primo record.
Inserendo una nuova scheda con nuovi valori, anche i valori in
visualizzazione del precedente record si modificano o spariscono...!!
Come se non riuscissi a rendere l'operazione di aggiornamento delle
combo indipendente per ogni singolo record.
Chiedo lumi a tutti voi, ne ho prorpio bisogno
Grazie a tutti

 ...
Se ti capisco bene si tratta del solito problema logica e noiosa
di una maschera continua dove il filtro attuale esclude contenuti
nelle caselle combinate in altri record perch� i valori non sono
presente nell'attuale origine riga.
Un workaround ho descritto qui:
http://groups.google.com/group/it.comp.appl.access/msg/2dbbadc426d64f99
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
 

 Access FAQ:
www.donkarl.com/it
Ciao Karl e Bizio,
credo che il problema sia proprio quello. Ho visto il DB che Bizio ha
postato in un altro forum.
Infatti ciò che scompare non sono i dati in tabella (codici in prima
colonna della combo di larghezza 0 mm) ma le descrizioni (in seconda
colonna della combo).
Buona notte.
Alberto


Ciao Bizio, la non visualizzazione dei dati nasce dall'impostazione
sbagliata della query nell'origine riga della combo.
Per risolvere il problema, basta mettere dalla seconda combo in poi,
nella prima colonna della query, il campo che vuoi venga visualizzato.
Ti faccio un esempio:
Combo1:
Id_Comparto  Comparto   ecc...
Combo2:
Categoria   Id_Categoria   ecc...
Combo3:
Prodotto   Id_Prodotto   ecc...
Ciao Vladimiro.

 Un workaround ho descritto qui:
http://groups.google.com/group/it.comp.appl.access/msg/2dbbadc426d64f99
Il workaround (o escamotage) proposto da Karl mi è servito molto,
cercavo proprio una cosa del genere altrimenti avrei dovuto ripensare
a ristrutturare il tutto in maniera diversa.
Effettivamente come diceva anche Almorel sul db che ho postato in un
altro sito (se fosse stato possibile qui, lo avrei fatto senz'altro) i
dati vengono salvati correttamente in tabella, il problema è la
visualizzazione dei record precedenti che cambia quando se ne aggiunge
uno nuovo (perchè ovviamente il valore della combo cambia e si
riperquote sui record precedenti.
Ho quindi aggiunto, appunto, 2 caselle testo (txtVisualizzaCombo2) e
(txtVisualizzaCombo3) sovrapposte alle combo, con origine controllo
DLookup del tipo:
=DLookUp("TipoRichiesta";"tblTipoRichiesta";"idTipoRichiesta=" &
[combo2])
come suggeritomi.
L'unico inconveniente, che non credo sia risolvibile a meno che mi
smentiate, è che aggiungendo un nuovo record avendo le 2 combo ancora
valore Null nella loro visualizzazione vi è #Errore almeno fino a
quando non si inseriscono i nuovi valori.
Altra questione dell'evento AfterUpdate nelle combo:
ho notato stranamente che inserendo me.Requery o Me.Refresh le combo
non si aggiornano mentre inserendo il codice:
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
le cose vanno a posto.
Sapete dirmi il motivo?!
Comunque veramente grazie a tutti voi, credo che per alcune cose il
vostro aiuto in questi forum sia piu utile che "divorare manuali" e di
questo vi ringrazio
Buona giornata e aspetto una vostra risposta

 ...
Devi fare il Requery alla combo per aggiornarla non alla maschera:
Me!combo2.Requery
ecc.



Ciao Bizio,
naturalmente ognuno è libero di seguire qualsiasi strada pur di
raggiungere il risultato, però credo che si resti più soddisfatti se
il lavoro svolto viene fuori in maniera più lineare; tanto per
intenderci, sovrapporre due caselle di testo su due combo, quando se
ne potrebbe fare a meno, mi pare un lavoro fatto non troppo bene; o
sbaglio?
Siccome non ti sei pronunciato sul mio suggerimento, ho il sospetto
che qualcosa non sia andato per il verso giusto.
Qui puoi trovare un esempio su come si visualizzano i dati su tre
combo sincronizzate:
http://cid-dfdfb766aa86f9d8.skydrive.live.com/self.aspx/Pubblica/Sincronizza%203%20combo%20associate.mdb
(attenzione a copiare per intero il link)
Ciao Vladimiro.

 - Mostra testo citato -
Per aprire il link, bisogna farci clic sopra :-)
Di nuovo Vladimiro.