U prethodnom prilogu bavili smo se statiฤkim i dinamiฤkim dimenzionisanjem nizova, a sada ฤemo preฤi na dopunu definicije nizova jednom ili viลกe dimenzija. Ponekad ฤe vam zatrebati da smestite podatke u vidu – jedne liste unutar druge liste, na primer, lista podataka po mesecima unutar liste sa godinama:
Dim GodineIMeseci(1991 To 2000, 1 To 12) As String
Danas = 1995
Mesec = 5
GodineIMeseci(Danas, Mesec) = "5-ti mesec 1995."
Debug.Print GodineIMeseci(1995, 5)
U gornjem primeru, kreirali smo niz sa dve dimenzije. Za svaki element prve dimenzije, druga dimenzija sadrลพi po 12 elemenata. Ako imate potrebe, moลพete dodati joลก neku dimenziju; zamislite viลกedimenzionalne nizove kao seriju nizova koji u sebi sadrลพe nove nizove. Na primer, evo kako moลพete obezbediti smeลกtaj za 31 podatak (dani), za svaki mesec:
Dim GodineIMeseci(1991 To 2000, 1 To 12, 1 To 31) As String
Dodavanjem viลกe dimenzija nizovima, javljaju se odreฤeni problemi. Ako nizu dodamo viลกe dimenzija, biฤe mnogo teลพe da ga adresiramo, jer ฤe te svaki put kada koristite niz morati da obezbedite indeks za svaku od dimenzija. I joลก neลกto, tip koji dodelite nizu primenjuje se na svaki element niza – ลกto znaฤi da ฤe biti mnogo teลพe da kreirate liste kompleksnih podataka koji treba da budu razliฤitih tipova. Na primer, moลพete kreirati niz „kupci“, sa elementima rezervisanim za „ime“, „adresu“, „starost“ i „raฤun“, ali ne moลพete dodeliti razliฤite tipove podataka krajnjim elementima, ลกto znaฤi da je oteลพan rad sa podacima koji dolaze iz svakodnevnog ลพivota. Solucija koja nam preostaje u ovakvim sluฤajevima je da ne koristimo kompleksne, viลกedimenzionalne nizove, veฤ seriju samostalnih nizova, po jedan za svaku stavku – sa odreฤenim tipom podataka:
Dim Ime() As String
Dim Prezime() As String
Dim Starost() As Long
Dim Racun() As Currency
Kada je potrebno da adresirate ceo „slog“ (ime, prezime, starost i raฤun), radiฤete da svakim nizom pojedinaฤno. Ovo, takoฤe moลพe biti komplikovano, i ฤesto moลพe biti izvor greลกaka (bugs).
Pratite Krstaricu na www.krstarica.com