PDA

View Full Version : [ACCESS] Caselle combinate sincronizzate


Darty
30-06-2007, 20:59
Ciao a tutti!
Premetto di non avere grandi conoscienze nè di access, nè tanto meno di vba..
Volevo comunque chiedere come poter creare due caselle combinate, delle quali la seconda filtra i dati in base a ciò che viene immesso nella prima.

Le tabelle del mio databse sono le seguenti:

TABELLA PRINCIPALE
Macrosettore
Settore
Ecc.

TABELLA MACROSETTORE
IDmacro
Macrosettore

TABELLA SETTORE
IDsettore
Settore
IDmacro

Per le due tabelle macrosettore e settore ho impostato una relazione uno-a-molti. Ora, il punto è: nella maschera della Tabella Principale vorrei poter selezionare dalla casella combinata Macrosettore uno di essi facendo in modo che nella seconda casella combinata Settore, mi comparissero soltanto quelli inerenti al Macrosettore selezionato.

Ho provato a dare un'occhiata su vari motori di ricerca, trovando anche alcune spiegazioni in merito, ma non ho capito granché e dopo ripetute prove non ho ottenuto nessun risultato.. :muro:

Mi potreste dare una mano per favore?
Grazie

funky80
02-07-2007, 07:24
Ciao a tutti!
Premetto di non avere grandi conoscienze nè di access, nè tanto meno di vba..
Volevo comunque chiedere come poter creare due caselle combinate, delle quali la seconda filtra i dati in base a ciò che viene immesso nella prima.

Le tabelle del mio databse sono le seguenti:

TABELLA PRINCIPALE
Macrosettore
Settore
Ecc.

TABELLA MACROSETTORE
IDmacro
Macrosettore

TABELLA SETTORE
IDsettore
Settore
IDmacro

Per le due tabelle macrosettore e settore ho impostato una relazione uno-a-molti. Ora, il punto è: nella maschera della Tabella Principale vorrei poter selezionare dalla casella combinata Macrosettore uno di essi facendo in modo che nella seconda casella combinata Settore, mi comparissero soltanto quelli inerenti al Macrosettore selezionato.

Ho provato a dare un'occhiata su vari motori di ricerca, trovando anche alcune spiegazioni in merito, ma non ho capito granché e dopo ripetute prove non ho ottenuto nessun risultato.. :muro:

Mi potreste dare una mano per favore?
Grazie

allora, dovresti basare la query di selezione alla base della seconda combobox con un filtro sul campo della prima. Allora io farei così: ti crei una query di selezione dove selezioni tutti i parametri del settore e il relativo macrosettore. Su di questa query basi la tuia maschera. Poi ti crei una query di selezione dei differenti macrosettori e su questa basi la prima combobox. Quindi crei una seonda query di selezione impostando come filtro sul campo macrosettore [nomecampomacrosettore] in questo modo dovrebbe funzionare

Darty
02-07-2007, 08:01
allora, dovresti basare la query di selezione alla base della seconda combobox con un filtro sul campo della prima. Allora io farei così: ti crei una query di selezione dove selezioni tutti i parametri del settore e il relativo macrosettore. Su di questa query basi la tuia maschera. Poi ti crei una query di selezione dei differenti macrosettori e su questa basi la prima combobox. Quindi crei una seonda query di selezione impostando come filtro sul campo macrosettore [nomecampomacrosettore] in questo modo dovrebbe funzionare

Ti ringrazio per avermi risposto. Però ho paura di doverti disturbare nuovamente.. La soluzione che mi hai proposto mi sembra teoricamente valida, anche io pensavo a qualcosa di simile. Il problema purtroppo è realizzare tutto questo.. Non è che potresti postarmi un esempio delle due query per favore? Sono all'abc di access ancora..

funky80
02-07-2007, 12:56
Ti ringrazio per avermi risposto. Però ho paura di doverti disturbare nuovamente.. La soluzione che mi hai proposto mi sembra teoricamente valida, anche io pensavo a qualcosa di simile. Il problema purtroppo è realizzare tutto questo.. Non è che potresti postarmi un esempio delle due query per favore? Sono all'abc di access ancora..

Allora. La query per la prima combobox sarà una cosa tipo "Select distinct Macrosettore from originedati" dove origine dati è la sorgente dei dati alla base della maschera. La seconda query è del tipo : "Select distinct settore from originedati where macrosettore = nomedellatuaprimacombobox". Così, usando il nome della combobox come filtro, gli dici di verificare a tempo di esecuzione, cioè quando scorri la combobox, il valore del macrosettore e di filtrare di conseguenza.