View Full Version : ACCESS: collegare 2 menù a tendina
Ciao a tutti!
Devo impostare una maschera che, una volta in esecuzione, permetta ad un generico utente di immettere la sua residenza.
Vorrei avere 2 menù a tendina: nel primo l'utente seleziona la regione di residenza e nel secondo la provincia. Come faccio a far comparire nel secondo menù SOLAMENTE le province della regione selezionata?
Esempio: l'utente nel primo menù dichiara di essere residente in Lombardia... vorrei che nel secondo menù comparissero solamente le province di MILANO, BRESCIA, BERGAMO, COMO, SONDRIO,.... ma NON Genova, Venezia, Torino, ecc...
Se mi sapete dare una mano, vi ringrazio in anticipo!!
Nessuno mi riesce a dara un consiglio?
Diciamo che in una tabella hai l'elenco delle provincie e delle città (non è il massimo in un database relazionale, ma sorvoliamo pure).
Crea una maschera senza nessuna origine dati (in struttura).
Mettici una casella combinata, assicurandoti di usare la creazione guidata. In questo modo ti chiederà lui quale fonte dati usare, e gli dirai di usare il campo provincia della tua tabella.
Salva e chiudi la maschera.
Crea una query basata sulla tabella. In questa inserisci il campo provincia, vai alla riga Criteri, click destro, Genera; nella finestra che apparirà vai a selezionare la casella combinata della maschera appena creata. Escludi questo campo dalla visualizzazione. Inserisci quindi il campo città, magari ordinato alfabeticamente.
Salva e chiudi la query.
Riapri la maschera di cui sopra, inserisci un altra casella combinata, solo che questa volta la fonte dati sarà la query appena creata.
Visualizza le proprietà della PRIMA casella combinata, quella con le provincie, e alla voce "Eventi --> Su modifica" seleziona "Routine evento" e fai click sul tastino a destra.
Ti ritrovi ora su una finestra di codice, che sarà del tipo:
Private Sub CasellaCombinata0_Change()
End Sub
che tu modifichi in questo modo:
Private Sub CasellaCombinata0_Change()
CasellaCombinata2.Requery
CasellaCombinata2.Value = ""
End Sub
(chiaramente con i nomi giusti delle caselle...)
Salva e chiudi la maschera.
Domani provo... Ti ringrazio per le info!!!
Diciamo che in una tabella hai l'elenco delle provincie e delle città (non è il massimo in un database relazionale, ma sorvoliamo pure).
Crea una maschera senza nessuna origine dati (in struttura).
Mettici una casella combinata, assicurandoti di usare la creazione guidata. In questo modo ti chiederà lui quale fonte dati usare, e gli dirai di usare il campo provincia della tua tabella.
Salva e chiudi la maschera.
Crea una query basata sulla tabella. In questa inserisci il campo provincia, vai alla riga Criteri, click destro, Genera; nella finestra che apparirà vai a selezionare la casella combinata della maschera appena creata. Escludi questo campo dalla visualizzazione. Inserisci quindi il campo città, magari ordinato alfabeticamente.
Salva e chiudi la query.
Riapri la maschera di cui sopra, inserisci un altra casella combinata, solo che questa volta la fonte dati sarà la query appena creata.
Visualizza le proprietà della PRIMA casella combinata, quella con le provincie, e alla voce "Eventi --> Su modifica" seleziona "Routine evento" e fai click sul tastino a destra.
Ti ritrovi ora su una finestra di codice, che sarà del tipo:
Private Sub CasellaCombinata0_Change()
End Sub
che tu modifichi in questo modo:
Private Sub CasellaCombinata0_Change()
CasellaCombinata2.Requery
CasellaCombinata2.Value = ""
End Sub
(chiaramente con i nomi giusti delle caselle...)
Salva e chiudi la maschera.
Ho provato la tua soluzione e funziona! L'unico inconveniente è che nel menù a tendina le prov compaiono ripetute per il numero di città presenti nelle stesse.
Esempio: nella provincia di Milano ho catalogato 5 città minori e nella provicia di Mantova 3, quindi aprendo il menù a tendina mi compare Mantova Mantova Mantova Milano Milano Milano Milano Milano... Questo è dovuto a come ho impostato la tabella Prov-Città (ho elencato le città e a lato di ciascuna vi è la rispettiva provincia).... Qualche altro consiglio da darmi? Approfitto per farti un'altra domanda: visto che mi sembra che maneggi bene Access, dove hai imparato? Grazie e buona serata!
Ho provato la tua soluzione e funziona! L'unico inconveniente è che nel menù a tendina le prov compaiono ripetute per il numero di città presenti nelle stesse
Crea un'altra query, basata sulla tabella.
Prendi solo il campo provincia.
Poi (in visualizzazione struttura della query) clicca col destro nell'area dove stanno le tabelle, Proprietà → Valori univoci → Sì
Quindi usa questa query, invece della tabella, come fonte dati per la prima casella combinata della maschera.
A dire il vero, sarebbe meglio che le province stessero su una tabella, le città su un'altra; ma poi diventa un pochino (ma poco) più complicato, specie da spiegare così a parole... specie a quest'ora...
bye
p.s.: se hai voglia/tempo di smanettare un pochino con access, prenditi un libro su access (tipo i portatili di mondadori) e magari "laboratorio di access" (apogeo).
Crea un'altra query, basata sulla tabella.
Prendi solo il campo provincia.
Poi (in visualizzazione struttura della query) clicca col destro nell'area dove stanno le tabelle, Proprietà → Valori univoci → Sì
Quindi usa questa query, invece della tabella, come fonte dati per la prima casella combinata della maschera.
A dire il vero, sarebbe meglio che le province stessero su una tabella, le città su un'altra; ma poi diventa un pochino (ma poco) più complicato, specie da spiegare così a parole... specie a quest'ora...
bye
p.s.: se hai voglia/tempo di smanettare un pochino con access, prenditi un libro su access (tipo i portatili di mondadori) e magari "laboratorio di access" (apogeo).
Appena ho tempo metto in pratica! Ho già comprato un libricino, ma contiene solo le basi per cominciare... prenderei un libro più grande solo se ne trovassi uno fatto come un manuale (del tipo: per ottenere questo fai così)... al momento non avrei tempo di leggerne uno che spiega nel dettaglio ogni singolo comando... Se mi vengono altri dubbi, te li posso chiedere o non avrai occasione per rispondermi? Ti ringrazio dei consigli che mi hai dato fino ad ora!! Ciao
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.