Combobox su maschera continua

di Scolaretto il
2 risposte

Ho una form a modulo continuo  che generata  viene generata da un predicato sql.
Eseguo quindi la form che contiene una combobox  che mostra solo i valori corrispondenti ad un Idsottogruppo contenuto in una delle tabelle relazionate.
Il problema viene quando sposto il cursore sulla riga successiva o precedente, che si scatena l’evento Enter o GotFocus della combo che ne modifica il rowsource . A quel punto si aggiornano i dati e  mi sparisce nella form tuti i valori con Idsottogruppo diversi da quello selexionato
Non so se quello che cerco di fare sia possibile. Se vi sono idee grazie

Sql Form
SELECT TabPrin.ID, TabPrin.Testo, TabPrin.IdGruppo, TabPrin.IdSottogrup, TabGruppo.Testo, TabSottoGrup.DescSottoGruppo FROM TabSottoGrup RIGHT JOIN (TabGruppo RIGHT JOIN TabPrin ON TabGruppo.Id_Gruppo = TabPrin.IdGruppo) ON TabSottoGrup.Id_SottoGruppo = TabPrin.IdSottogrup; 
Sql delle combo
Me.CboSotto.RowSource = "SELECT TabSottoGrup.Id_SottoGruppo, TabSottoGrup.DescSottoGruppo, TabSottoGrup.IdGruppo " & _
                        "FROM TabGruppo INNER JOIN TabSottoGrup ON TabGruppo.Id_Gruppo = TabSottoGrup.IdGruppo " & _
                        "WHERE TabSottoGrup.IdGruppo=" & Me.IdGruppo

Queste le relazioni

2 Risposte

  • Ti consiglio di gestire i singoli record di ogni tabella tramite una maschera relativa specifica e utilizzare le maschere continue solo per ricerca e tutto diventa più semplice per chi non ha una conoscenza approfondita di Access.

  • Secondo me la doppia relazione TabGruppi uno-a-molti TabSottoGruppi e TabGruppi uno-a-molti TabPrin ti crea problemi. 
    Potresti raccontare (anche per non addetti ai tuoi lavori) cosa stai gestendo? Ossia:
    - cosa rappresentano quelle tre tabelle
    - nome proprio della maschera
    - cosa deve apparire nella combo

    06/06/2026 - Scolaretto ha scritto:

    si scatena l’evento Enter o GotFocus della combo che ne modifica il rowsource

    Puoi chiarire nei dettagli questo fenomeno?

Devi accedere o registrarti per scrivere nel forum
2 risposte