[CODE] Cascadare combo box-uri in Access

Închis
Avatar utilizator
mesersmith
Mesaje: 2088
Membru din: Sâm Oct 23, 2010 6:44 am
Localitate: calarasi
Contact:

[CODE] Cascadare combo box-uri in Access

Mesaj de mesersmith » Lun Noi 14, 2011 12:11 am

pt ca au tot fost discutii legate de interdependenta dintre selectiile unor casute combo, am tot sapat si am gasit o varianta la care codul VBA este f subtire.
metoda nu-mi apartine(apartine unui oarecare sawvel), dar am modificat-o si adaptat-o pt a fi mai usor inteleasa.

se dau trei casute: tara, judet si localitate.
spre deosebire de varianta care circula la noi pe forum, aceasta foloseste trei query de tip select distinct astfel:

-pt combo tara:
SELECT DISTINCT orase.tara FROM orase ORDER BY orase.tara; -unde orase este numele tabelului.
-pt combo judet:
SELECT DISTINCT orase.judet FROM orase WHERE orase.tara = [cbtara] -unde cbtara este numele combo-ului tara.
-pt combo localitate:
SELECT DISTINCT orase.localitate FROM orase WHERE orase.tara = [cbtara] AND orase.judet = [cbjudet]

de asemenea, se folosesc doua coduri vba after update sau on change:

-pt combo tara:

Cod: Selectaţi tot

Private Sub cbtara_AfterUpdate()
 Me.cbjudet.RowSource = "SELECT DISTINCT orase.judet FROM orase WHERE orase.tara = [cbtara]"
End Sub
-pt combo judet:

Cod: Selectaţi tot

Private Sub cbjudet_AfterUpdate()
 Me.cblocalitate.RowSource = "SELECT DISTINCT orase.localitate FROM orase WHERE orase.tara = [cbtara] AND orase.judet = [cbjudet]"
End Sub
nu am testat inca pe mai multe tabele relationate.
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.
Ultima oară modificat Mar Noi 15, 2011 10:49 pm de către IPP, modificat 1 dată în total.
Motiv: Denumire subiect modificat la cererea autorului

Închis

Înapoi la “Visual Basic for Application (VBA) - Intrebari tehnice”