[Risolto] - Casella combinata che si aggiorna in funzione del valore inserito in un'altra casella combinata

di Anonimizzato25924 il
6 risposte
Ciao a tutti,
ho un form in cui vi sono 2 caselle combinate, la seconda delle quali implementa una query il cui risultato dipende dal valore inserito nella prima casella combinata.
Come posso fare in modo che il valore della seconda casella combinata si aggiorni in automatico in funzione del valore inserito nella prima?
Grazie e saluti a tutti

6 Risposte

  • Mettendo un criterio sul campo relazionato dalla 1° combo nella Query origine della 2° ed eseguendo il Requery su AfterUpdate della 1°.
    Attenzione al Valore NULL della 1°... decidi come si deve comportare la 2° quando non hai ancora selezionato nulla nella 1°.
  • Perfetto, grazie
  • Mi aggancio al thread proprio perchè anche io ho gestito due combobox in cascata con il sistema descritto ma non ho capito come fare in modo che la seconda cbo sia popolata completamente (o "unfiltered") quando non ho ancora selezionato nulla dalla prima cbo (quel valore NULL in pratica come va gestito?).
    Grazie, ciao
    GF
  • Includendo il caso del null...
    
    SELECT *
    FROM T1
    WHERE [CampoX]=Forms!NomeForm!NomeCombo OR 
            Forms!NomeForm!NomeCombo IS NUll;
    
  • Ok perfetto, grazie mille.

    Ma se volessi aggiungere un'ulteriore combo in "parallelo" alla prima che gestisca anch'essa la seconda?

    Cioè:
    Esempio: Due combobox (Cbo1 e Cbo3) aggiornano una terza combobox Cbo2
    Cbo1 Ha due valori ("A" e "B")per il campo "Gruppo" (più il caso del null cioè tutti o A+B) ed esegue la requery sulla Cbo2
    Cbo3 Ha altri due valori ("Si e "No") per il campo "Attivo" ed esegue anch'essa la requery sulla Cbo2

    Nella select dovrei aggiungere le condizioni con tutte le combinazioni possibili... ma mi sembra incasinato e probabilmente sbagliato...

    Le combinazioni credo che dovrebbero essere :
    Cbo1(Gruppo) = Null
    OR
    Cbo1(Gruppo) = Null AND Cbo3(Attivo) = Si
    OR
    Cbo1(Gruppo) = A AND Cbo3(Attivo) = Si
    OR
    Cbo1(Gruppo) = A AND Cbo3(Attivo) = No
    OR
    Cbo1(Gruppo) = B AND Cbo3(Attivo) = Si
    OR
    Cbo1(Gruppo) = B AND Cbo3(Attivo) = No

    Se è giusto (e già non ne sono certo) come lo traduco in SQL?
    
    SELECT *
    FROM T1
    WHERE [Gruppo]=Forms!NomeForm!Cbo1 OR 
            Forms!NomeForm!Cbo1 IS NUll
    
    ????
    
    Scusate la confusione, grazie in anticipo
    Ciao
    GF
  • Non confondere la costruzione del FILTRO o del CRITERIO con la gestione delle Condizionanti a cascata tra le combo.
    Hai anche altri modi per gestire condizioni più complesse.... il codice... ma serve avere una discreta visione.
    Nel Forumo trovi molti spunti già affrontati.
Devi accedere o registrarti per scrivere nel forum
6 risposte