Query da casella di controllo

di il
2 risposte

Query da casella di controllo

Ciao a tutti,
in una maschera vorrei realizzare una procedura che alla selezione in una casella di controllo (dove sono elencate le regioni italiane) nel successivo campo (province) mostrasse per la successiva selezione solo le province relative alla Regione selezionata. Come fare ?
La cosa più semplice dovrebbe essere - ntanto - avere una tabella con le Regioni e le Province ... o no ?
Grazie a tutti.

2 Risposte

  • Re: Query da casella di controllo

    Parli di Casella di controllo, ma credo tu abbia confuso questo nome con qualche altro tipo... forse Casella Combinata(ComboBox) o di Riepilogo(ListBox)...?

    Questo argomento negli ultimi ogiorni viene trattato molto... potresti fare un minimo di ricerca... o no...?
    Alla base di quello che devi fare serve capire come hai strutturato i DATI... ovvero come è la tabella di origine.

    Se hai una sola tabella con i campi Regione/Provincia e Comune o quello che serve... allora dovrai generare pert ogni Combo/ListBox una Query di origine che raggruppa il campo destinato... e la successiva COmbo/ListBox sequenziale dovrà avere nel predicato SQL un Condizionante o WHERE Condition che filtra eventualmente i dati.

    Ipotiziamo ti bastino REGIONE, PROVINCIA e COMUNE, quindi 3 ComboBox, ed ipotiziamo che la Tabella abbia tutte le INFO, quindi
    
    IDPk(Counter)
    REGIONE (Testo 50 char).
    PROVINCIA (Testo 100 Char)
    COMUNE (Testo 100 Char)
    Il predicato SQL delle 3 a caduta sarà:
    1° REGIONI
    
    SELECT Dati.REGIONE FROM Dati GROUP BY Dati.REGIONE ORDER BY Dati.REGIONE;
    2° PROVINCIA
    
    SELECT Dati.PROVINCIA, Dati.REGIONE FROM Dati GROUP BY Dati.PROVINCIA, Dati.REGIONE HAVING (((Dati.REGIONE)=[Forms]![NomeForm]![cboRegione])) ORDER BY Dati.PROVINCIA;
    3° COMUNE
    
    SELECT Dati.ID, Dati.COMUNE, Dati.CAP, Dati.PROVINCIA FROM Dati WHERE (((Dati.PROVINCIA)=[Forms]![NomeForm]![cboProvincia]) AND ((Dati.REGIONE)=[Forms]![NomeForm]![cboRegione])) ORDER BY Dati.COMUNE;
    A questo punto devi far in modo che quando Selezioni la 1° si aggiornino la 2° e la 3°, quando aggiorni la 2° solo la 3°.
    L'aggiornamento delle Combo si fa con il Requery del controllo.

    Quello che ti ho esposto a descrizione della Tecnica, è schematizzato in questo esempio:
    http://forum.masterdrive.it/access-79/controlli-bound-sincronizzati-in-cascata-45725/
  • Re: Query da casella di controllo

    Ciao Alex,
    grazie della risposta, intanto. Avevo provato a guardarmi intorno ma ci avevo capito poco. La tua risposta invece mi ha aiutato.
    Alle prossime.

    Grazie ancora
Devi accedere o registrarti per scrivere nel forum
2 risposte