- •Қысқаша дәрістер конспектісі
- •1.1. Деректер базасы туралы негізгі түсінік
- •1.2. Мән, байланыстар және атрибуттар
- •Қысқаша дәрістер конспектісі
- •2.1. Мәліметтер қорын басқару жүйесі
- •2.2. Қазіргі мқбж негізгі қызметтері
- •Қысқаша дәрістер конспектісі
- •3.1. Мәліметтердің типтері және моделдері
- •3.2. Иерархиялық модель
- •3.3. Желілік модель
- •3.4. Реляциялық модель
- •3.5. Постреляциялық модель
- •3.6. Көп өлшемді модель
- •3.7. Объектілі бағдарланған модель
- •Қысқаша дәрістер конспектісі
- •4.1. Мәліметтер қорының реляциялық моделі
- •4.2. Қатынастар. Реляциялық мәліметтер қорындағы негізгі терминдер
- •4.3. Реляциялық алгебра
- •Қысқаша дәрістер конспектісі
- •5.1. Қатынастар және оның негізгі қасиеттері
- •2. Қатынастардың негігі түрлері
- •3. Байланыстар және олардың негізгі түрлері
- •Қысқаша дәрістер конспектісі
- •6.1. Мәліметтер қорын жобалауға қойылатын талаптар
- •6.2. Мәліметтер қорын жобалау кезеңдері
- •Қысқаша дәрістер конспектісі
- •7.1. Бірқалыпты күйге келтірудің мақсаты
- •7.2. Бірқалыпты күйге келтіру процесі.
- •Қысқаша дәрістер конспектісі
- •8.1. Мәліметтер қорымен жұмыс жасауға арналған инструментальді құралдар.
- •8.2. Delphi-де мәліметтер қорымен байланысты ұйымдастыру
- •Қысқаша дәрістер конспектісі
- •9.1. Кесте құру.
- •9.2. Псевдоним құру.
- •9.3. Мәліметтердің типтері
- •Қысқаша дәрістер конспектісі
- •10.1. Мәліметтер қоры қосымшасымен жұмыс жасауда қолданылатын компоненттер.
- •10.2. Table компоненті, ерекшеліктері.
- •10.3. TQuery компоненті, ерекшеліктері.
- •Қысқаша дәрістер конспектісі
- •11.1. Мәліметтер жиынын сұрыптау
- •11.2. Жазбаларды іздеу
- •11. 3. Мәліметтерді електен өткізу
- •12.1. Өрнек бойынша електен өткізу.
- •12.2. Аралық бойынша електен өткізу
- •Қысқаша дәрістер конспектісі
- •14.1. Sql тілі туралы түсінік. Sql функциялары.
- •14.2. Кестелермен орындалатын амалдар.
- •14.3. Кестеден мәліметті таңдау. Select операторының негізгі сипаттамалары.
- •14.4. Жазбаларды модификациялау
- •15.1. Есеп берулермен жұмыс. Есеп берудің негізгі компоненті.
- •15.2. Есеп беруде қолданылатын құрама компоненттер.
- •Дәрісте қолданылған әдебиеттер тізімі
11. 3. Мәліметтерді електен өткізу
Мәліметтер жиынында таңдалынатын жазбалар үшін шек қою - фильтрация деп аталады. Delphi жүйесі жазбаларды фильтрациялау мүмкіндігін өрнек бойынша және аралығы бойынша жүзеге асырады.
Бақылау сұрақтары:
1. Индекстік өрістің қажеттілігі?
2. Мәліметтерді сұрыптау қалай жүргізіледі?
3. Мәліметтерді іздеу не үшін қажет?
4. Іздеу әдістерінің түрлері?
5. Мәліметтерді електен өткізу дегеніміз не?
Әдебиеттер:
[4], [6], [9], [10].
№12 дәріс.
Тақырыбы: Навигациялық қатынас жасау әдісі. Мәліметтерді електен өткізу әдістері, өрнек және аралық бойынша фильтрлеу
Дәріс мақсаты: Мәліметтерді електен өткізу әдістерін толық қарастыру.
Кілттік сөздер: өрнек бойынша електен өткізу, аралық бойынша електен өткізу, Filter, Filtered, SetRangeStart, SetRangeEnd, SetRange, ApplyRange.
Жоспары:
12.1. Өрнек бойынша електен өткізу.
12.2. Аралық бойынша електен өткізу.
Мәліметтер жиынында таңдалынатын жазбалар үшін шек қою –фильтрация деп аталады. Delphi жүйесі жазбаларды фильтрациялау мүмкіндігін өрнек бойынша және аралығы бойынша жүзеге асырады.
12.1. Өрнек бойынша електен өткізу.
Мәліметтер жиынын өрнек бойынша фильтрациялауды қолдану барысында, жазбаларды таңдау шартымен берілген фильтрдің өрнегін қанағаттандыратын жазбалармен шектеледі. Фильтрдің өрнегін беру үшін String типті Filter қасиеті қолданылады.
Фильтрация шартын көрсетуге мысал ретінде келесі өрнекті келтірейік.
Oklad <= 20000
Post = ‘Инженер’ OR Post = ‘лаборант’
Бірінші өрнек оклад өрісінің мәні 20000 аспайтын барлық жазбаларды іріктеп алады. Екінші өрнек мамандық өрісі инженер немесе лаборант мәнінен тұратын жазбаларды іріктеуді қамтамасыз етеді.
Фильтрді екпінді етуге және оны алып тастауға Boolean типті Filter қасиеті қолданылады. Қалыпты жағдайда бұл қасиеттің мәні False, және фильтрация өшірілген болады. Filtered қасиетіне True мәнін қойғанда фильтрация қосылады, және Filter қасиетінде жазылған фильтрді қанағаттандыратын мәліметтер жиынында жазбалар іріктелінеді.
Фильтрация параметрі TFilterOptions типті FilterOptions қасиетінің көмегімен беріледі. Бұл қасиет жиын типіне жатады, және екі мәннің комбинациясын қабылдайды:
• foCaseInsensitive – әріптердің регистрі ескерілмейді, яғни Post =
‘преподаватель’ фильтр өрнегіндегі преподаватель, ПРЕПОДАВАТЕЛЬ немесе Преподаватель бірдей мағынада қабылдана береді.
• foNoPartialCompare – іріктеу үшін, өріс және мәндерінің толық сәйкес болуын тексеруді орындайды. әдетте символдар жолы үшін қолданылады.
Мысалы, Post = ‘П*’ фильтрі үшін foNoPartialCompare мәні қосылғанда Post өрісінде Преподаватель, Преп-ль, немесе Профессор мәндерінен тұратын
жазбалар іріктелініп алынады.
Өрнек бойынша мәліметтер жиынын фильтрациялау үшін, форма оқиғасын өңдеу мысалын қарастырайық. Форма 24-суретте келтірілген.
24-сурет. Өрнек бойынша електен өткізу формасының мысалы
Мәліметтер жиынын фильтрациялау екі түйменің және редакциялау өрісінің көмегімен орындалады. Фильтровать (btnFilter) түймесін басу барысында мәліметтер жиынының Filtered қасиетіне True мәні меншіктелу жолымен фильтр орындалады. edtFilter редакторы фильтр өрнегін қоюға арналған. Фильтрдің орындалуында өрнектегі шартты қанағаттандыратын жазбаларды іріктеу орындалады. Все записи (btnAllrecord) түймесін басқанда фильтр ажыратылады, барлық жазбалар көрсетіледі.
Төменде Form1 форма қосымшасының үш оқиғаны өңдеу модулі келтірілген.
procedure TForm1.FormCreate(Sender: TObject);
begin
Table1.FilterOptions:=[foCaseInsensitive];
Table1.Filtered:=False;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Table1.Filtered:=True;
Table1.Filter:=edit1.Text;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.Filtered:=False;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Form1.Close;
end;
end.
Жазбаларды таңдау үшін дайын өрнектердің тізімін пайдаланған да ыңғайлы болады. Мұндай режим ComboBox және Memo компоненттерінің көмегімен жасалынады. Егер фильтрация шарты белгілі және өзгермейтін болса, онда пайдаланушы жазбаларды іріктеуді CheckBox жалаушасының және RadioButton айырып-қосқышының көмегімен басқара алады.
Форма қосымшасы оқиғасын өңдеуге мысалы ретінде, пайдаланушы фильтрацияны екі өріс бойынша немесе өрнегі бойынша басқару мүмкіндігін қолданатын, әйтпесе фильтрацияны алып тастайтын қарастырайық.
25-сурет. Бірнеше өріс бойынша електен өткізу формасына мысал
procedure TForm1.FormCreate(Sender: TObject);
begin
Table1.Filter:='';
Table1.FilterOptions:=[foCaseInsensitive];
Table1.Filtered:=True;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.Filtered:=True;
// оклад бойынша фильтрациялау
if Radiobutton1.Checked then table1.Filter:='Salary >'+
Edit1.Text+ 'AND Salary <'+Edit2.Text;
// туған күні бойынша
if Radiobutton2.Checked then table1.Filter:='Birthday >'+
DateToStr(DateTimePicker1.Date)+'AND Brithday <
'+DateToStr(DateTimePicker2.Date);
// өрнек бойынша фильтрациялау
if Radiobutton3.Checked then Table1.filter:=edit3.Text;
if Radiobutton4.Checked then Table1.Filter:='';
end;
Ең кіші және ең үлкен датаның мәнін енгізу үшін екі TdateTimePicker (DateTimePicker1.Date және DateTimePicker2.Date) типті компоненттер қолданылады. Окладтың мәндеріне шек қою үшін Edit1.Text және Edit2.Text бір жолды редакторлары қолданылды.
