Э. В. Фуфаев, Д. Э. Фуфаев



жүктеу 10,13 Mb.
Pdf просмотр
бет50/93
Дата19.11.2018
өлшемі10,13 Mb.
#21568
түріОқулық
1   ...   46   47   48   49   50   51   52   53   ...   93

Case 
<мəндерТізімі3><оператор
ларБлогы3> 
Case Else 
<операторларБлогы_Еке> 
End Select 
Тексерілетін  тіркес  Select  Case  операторының  жҧмысы  басталған 
кезде есептеледі. Осы тіркес кез-келген типті мəнді қайтара алады.  
Тіркестер  тізімі  ҥтірмен  бөлінген, бір немесе бірнешетіркес болып 
табылады. Операторды орындау кезінде осы тізімнің ең болмағанда бір 
элементі  тексерілетін  тіркеске  сəйкес  келуі  тексеріледі.  Тіркестер 
тізімінің осы элементтерінің мынадай нысаны болуы мҥмкін: 
<тіркес> 
(бҧл  жағдайда  тексерілетін  тіркес  мəнінің  белгіленген  тіркеске  сəйкес 
келуі тексеріледі); 
<тіркес1> То <тіркес2> 
(бҧл  жағдайда  тексерілетін  тіркес  мəнінің  көрсетілген  мəндер 
диапазонында орналасуы тексеріледі); 
If <логикалықОператор><тіркес> 
(бҧл  жағдайда  тексерілетін  тіркес  логикалық  оператор  көмегімен 
көрсетілген мəнмен салыстырылады; мысалы, егер тексерілетін мəн 20-
дан кем болса, If >= 20 шарты орындалған болып есептеледі). 
Егер тізімдегі элементтің ең болмағанда біреуі тексерілетін тіркеске 
сəйкес  келсе,  онда  тиісті  операторлар  тобы  орындалады  жəне  осымен 
Select  Case  операторының  орындалуы  аяқталады,  ал  қалған  тіркес 
тізімдері  тексерілмейді.  Егер  барлық  осы  тізімнің  бірде  бір  элементі 
тексерілетін  тіркестің  мəніне  сəйкес  келмесе,  онда  болған  жағдайда 
Else тобының операторы орындалады. 
Циклдер.  VBA-да  екі  топқа  бөлуге  болатын,  циклдерді 
ҧйымдастыру қҧралдарының жеткілікті жинағы бар: 
•  Do...Loop шартымен циклдер; 
•  For.Next атаумен циклдер. 
Dо...Loop  типті  циклдер  цикл  денесін  қҧрайтын,  операторлар 
блогының  орындалуы  қанша  рет  қайталануы  қажет  белгісіз  болған 
жағдайда пайдаланылады. Мҧндай цикл белгілі бір шарт орындалғанға 
дейін өз жҧмысын жалғастырады. Dо...Loop циклдерінің төрт тҥрі бар, 
олар  тексерілетін  шарт  тҥрімен  жəне  осы  тексерудің  орындалу 
уақытымен  ерекшеленеді.  Осы  төрт  цикл  конструкциясының 
синтаксисі  8.2-кестеде келтірілген. 


Кесте 8.2. Цикл конструкциясының синтаксисі 
Конструкция 
Сипаттамасы 
DoWhile<шарт><опе
раторларБлогы>Loop 
Осы конструкцияда циклді орындау 
шартының мəні операторлар орындалғанға 
дейін тексеріледі  
Do<операторларБлог
ы>LoopWhile<шарт> 
Осы конструкцияда циклді орындау 
шартының мəні операторлар 
орындалғаннан кейін тексеріледі 
DoUntil<шарт><опер
аторларБлогы>Loop 
Осы конструкцияда оператор орындалғанға 
дейін белгіленетін, циклдің жҧмысын 
аяқтау шартының мəні көрсетіледі 
Do 
<операторларБлогы>
LoopUntil<шарт> 
Осы конструкцияда оператор 
орындалғаннан кейін белгіленетін, циклдің 
жҧмысын аяқтау шартының мəні 
көрсетіледі 
Сондай-ақ  For...Next  атап  шығуымен  цикл  операторының  екі  тҥрі 
бар.  Массивті  өңдеу  кезінде,  сонымен  қатар  кейбір  операторлар 
тобының  орындалуын  белгіленген  сан  рет  қайталау  қажет  болғанда, 
есептеуішпен  For...Next  циклі  пайдаланылады.  Dо...Loop  циклдеріне 
қарағанда  циклдің  осы  тҥрі  есептеуіш  деп  аталатын  арнайы 
ауыспалыны пайдаланады, оның мəні цикл денесін белгіленген шамаға 
орындаған  сайын  артады  немесе  азаяды.  Осы  ауыспалының  мəні 
белгіленген  мəнге  жеткенде,  циклдің  орындалуы  аяқталады.  Осы 
циклдің синтаксисі (тік жақшаға міндетті емес элементтер алынған): 
For <есептеуіш> = <бастапқыМəні>To <соңғыМəні>[Step <өсіру>] 
<операторларБлогы> 
Next <есептеуіш> 
Келтірілгенге бірнеше ескерту келтірейік: цикл конструкциясының 
фрагментіне:  
•  <өсіру>  оң  жəне  теріс  сан  болуы  мҥмкін.  Егер  теріс  өсіруді 
пайдалансақ,  онда  цикл  денесі  ең  болмағанда  бір  рет  орындалу  ҥшін 
соңғы мəн бастапқы мəнге тең немесе кем болу керек
•  For.Next  цикл  жҧмысы  аяқталғаннан  кейін  есептеуіш  ретінде 
пайдаланылған  ауыспалы,  егер  өсіру  оң  болса,  соңғы  мəннен  жоғары 
мəнге ие болады, ал егер өсіру теріс болса, соңғы мəннен кем мəнге ие 
болады; 


•  егер бастапқы жəне соңғы мəн сəйкес келсе, онда цикл денесі тек 
бір рет орындалады. 
For...Next  циклінің  тағы  бір  тҥрін  қарастырайық,  ол  объекттерді 
өңдеу  кезінде  VBA-да  жиі  пайдаланылады,  біртекті  объекттердің 
массивін немесе тегін қҧрайды.  
For  Each.Next  циклінің  осы  тҥрінде  есептегіш  жоқ,  ал  цикл  денесі 
əрбір  объекттің  массиві  немесе  тегі  ҥшін  орындалады.  Осындай 
циклдің синтаксисі: 
For Each <элемент>In <жиынтық> 
<операторларБлогы> 
Next [<элемент>] 
мҧндағы<элемент>  —  объекттер  тегінің  элементтеріне  сілтеу  ҥшін 
пайдаланылатын  ауыспалы;  <жиынтық>  —  бҧл  массивтің  немесе 
тегінің аты. 
Ҧқсас  циклдің  пайдаланылу  мысалын  келтірейік.  Келесі  рəсім 
ағымдағы  ашық  дерекқордың  барлық  кестелерінің  барлық  өрістерінің 
тізімін басып шығаруға арналған: 
Public Sub EnumerateAllFields () 
Dim MyBase As Database 
Dim tdf As TableDef, fid As Field 
Set MyBase = DBEngine.Workspaces(0).Databases(0) 
For Each tdf In MyBase.TableDefs 
Debug.Print "Кесте "& tdf.Name For 
Each fid In tdf. Fields Debug. Print 
"Поле: "& fid. Name Next fid NEXT 
TDF Set MyBase = Nothing End Sub 
Осы мысалда Dim операторлары келесі ауыспалыларды жариялады: 
•  MyBase — «Дерекқор» объектісі; 
•  tdf — дерекқор кестесі; 
•  fid — кесте аясы. 
Set  операторы  MyBasе  ауыспалыға  ағымдағы  ашық  дерекқор 
атының мəнін тағайындайды. Одан əрі кестенің əрбір анықтамасы ҥшін 
кестенің  аты  басып  шығарылады,  содан  кейін  осындай  типті  цикл 
барлық аяның атын басып шығарады. 
8.6. 
Циклдер мен рәсімдерден шығу 
Әдетте рəсімнің орындалуы соңғы оператордан кейін аяқталады, ал 
циклдің орындалуы - жҧмысын аяқтау шартына қол жеткізгеннен кейін 
аяқталады.  


жүктеу 10,13 Mb.

Достарыңызбен бөлісу:
1   ...   46   47   48   49   50   51   52   53   ...   93




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау