Visual Basic 6.0

poruka: 2
|
čitano: 753
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
5 godina
neaktivan
offline
Visual Basic 6.0

Pozdrav svima,vec neko vrijeme radim u Visual Basicu i pokusavam da rijesim jedan problem ali mi ne ide bas najbolje,ovako da li se moze napraviti veza izmedju COMBO1 i COMBO2,kad ja nesto izaberem u COMBO1 da mi se odredjeno ucita u COMBO2...tipa u COMBO1 ucitam Volkswagen,Audi...i kad ja izaberem Volkswagen da mi u COMBO2 izbaci npr Golf,Passat...pa kad izaberem Audi da mi izbaci npr A3 A4 itd?

Hvala unaprijed.

 
0 0 hvala 0
16 godina
online
Re: Visual Basic 6.0

Ukratko, da :) ... ne znam koje predznanje imaš, odnosno da li znaš da ComboBox uz "item" kojeg dodaješ sa ComboBox.AddItem (i kojega onda vidiš na listi) može spremiti paralelno i još jedan podatak sa ComboBox.ItemData(index) funkcijom (mislim da je ograničeno samo na numeričke tipove). U ovom slučaju je zgodno za spremiti ID (key) tog itema u bazi (proizvođač automobila) da bi mu nakon izbora u ComboBox1 mogao pristupiti i učitati ostale podatke (serije, modele ili što već želiš učitati i imaš u bazi za svakog proizvođača).

 

Ne stignem sad pisati kod (a i teško da bi se sjetio točno iz prve :)) pa ću samo principijelno:

( pretpostavljam da te proizvođače automobila i njihove serije imaš u tablicama u bazi i da ih učitavaš jednim SQL upitom)

 

- kad ti upit vrati recordset, izvrtiš kroz petlju sve recorde (redove u bazi) i puniš ComboBox1 sa:

   ComboBox1.AddItem "ime proizvođača"

   ComboBox1.ItemData(ComboBox1.NewIndex)= <ID/key proizvoača u bazi> ' .NewIndex je index upravo dodanog itema sa .AddItem

 

- ComboBox1_Click event se "okida" svaki put kad klikneš na ComboBox1 pa u njega onda dodaš nešto tipa:

   ID = ComboBox1.ItemData(ComboBox1.ListIndex)   'pokupiš ID/key proizvođača koji si spremio "u paru" sa itemom

   - sad kad imaš ID proizvođača, složiš SQL upit koji će ti vratiti samo njegove serije (opet pretpostavljam da to sve imaš u tablicama u bazi)

   - puniš ComboxBox2 (slično kao i ComboBox1), ali prije petlje sa ComboBox2.Clear počistiš ako nešto ima na listi (nazivi serija od prethodno biranog proizvođača).

 

Kad sve skupa malo naraste onda je zgodno to izdvojiti u posebnu rutinu (Sub) koju onda pozivaš sa raznim parametrima pa tako na jednom mjestu možeš riješiti sve slične situacije punjenja ListBox ili ComboBox kontrola (koje su gotovo iste).

Također, zgodno je koristiti niz kontrola pa time dodatno smanjiš ponavljanje sličnog koda jer onda jednim _Click eventom možeš obraditi nekoliko njih.

 

 

 

 

 

 

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice