86
bajarilishi talab qilinganda schotchikli fOR…NEXT sikl opera-
toridan foydalaniladi.
Bu operator DO…LOOP siklidan farqli ravishda schotchik deb
nomlanuvchi maxsus o‘zgaruvchi ishlatiladi. Schotchik qiymati
sikl tanasi har gal bajarilganda berilgan qiymatga ko‘payadi yoki
kamayadi. Bu o‘zgaruvchi qiymati
tayinlangan qiymatga erish-
ganda siklning bajarilishi tugaydi. Bu ko‘rinishdagi sikl ning sin-
taksisi quyidagicha (kvadrat qavslarda majburiy bo‘lmagan qiy-
matlar ko‘rsatilgan):
for
= To qiymat>
[Step ]
Next
Bu sikl konstruksiyasi bo‘yicha ba’zi fikrlarni aytib o‘tamiz:
•
musbat yoki manfiy son bo‘lishi mumkin. Agar
manfiy orttirma ishlatilsa, sikl hech bo‘lmaganda bir marta ish-
latilishi uchun sikl oxirgi qiymat boshlang‘ich qiymatdan kichik
yoki unga teng bo‘lishi kerak;
•
sikl yakunlangandan keyin fOR…NEXT schotchik yor-
damida ishlatilgan o‘zgaruvchi qiymati oxirgi qiymatdan katta
(agar orttirma musbat bo‘lsa), yoki oxirgi qiymatdan kichik (agar
orttirma manfiy bo‘lsa) bo‘ladi;
•
agar boshlang‘ich va oxirgi qiymatlar teng bo‘lib qolsa, sikl
tanasi faqat bir marta bajariladi.
fOR…NEXT siklining yana bir ko‘rinishi fOR Each…NEXT
siklidir.
Bu sikl VBAda massivlarni tashkil qiluvchi obyektlarni qayta
ishlashda foydalaniladi. Bu ko‘rinishdagi siklda schotchik qat-
nashmaydi, sikl tanasi massiv yoki obyektlar oilasining har biri
uchun ishlatiladi.
Bu operator sintaksisi quyidagicha:
for Each In <мажмуа>
Next []
Bu yerda – bu obyektlar oilasi elementlari muro-
jaat qilish uchun ishlatiladigan o‘zgaruvchi:
massiv yoki oila nomi.
87
Shu siklga doir misol keltiramiz. Quyida protsedura joriy
ochiq ma’lumot bazasining barcha maydonlar ro‘yxatini
bosmaga
chiqarish uchun mo‘ljallangan protsedura keltirilgan:
Publiс Sub EnumeranteAllfields ()
Dim MyBase As Database
Dim tdf As TableDef, fid As field
Set MyBase = DBEngine.Workspaces(0). Databases(0)
for Each tdf In MyBase.TablуDefs
Debug.Print "Jadval:" & tdf.Name
for Each fid In tdf.fields
Debug.Print "Maydon:" & fid.Name
Next fid
NEXT TDf
Set MyBase = Nothing
End Sub
ub = Ubound (dArrey)
ffound = false
for I = Lbound (dArrey) to ub
If dArrey(i) =
search Value Then
ffound = True
Exit for
NEXT
Bu misolda Dim operatori bilan quyidagi o‘zgaruvchilar e’lon
qilin gan:
My Base –
tdt – ma’lumot baza jadvali
fid – jadval nomi.
Set operatori MY Base o‘zgaruvchiga joriy ochiq ma’lumot
ba z a si ning nomi qiymatini tayinlaydi. So‘ngra har bir aniq lan gan
jadval uchun jadval nomi, so‘ngra xuddi shu kabi ki r i tilgan siklda
maydon nomlari bosmaga chiqariladi.
Do'stlaringiz bilan baham: