
- •Зертханалық жұмыс №1 (6сағат) байланыспаған кестелермен және локалды деректер базасымен жұмыс жасау
- •6.1. Локалды деректер базасымен жұмыс істеуге арналған қосымша
- •6.1.1. Жұмыстың мақсаты
- •6.1.2. Жұмысты орындауға арналған тапсырмалар
- •6.1.3. Қосымшаны құрастыру процесі
- •6.1.4. Деректер базасының псевдонимін құру
- •6.1.5. Деректер базасы кестесінің жазбаларының құрылымын жасау
- •6.1.6. Негізгі форма мен оның дб-мен жұмыс істейтін компоненттерін жасау
- •6.1.6.1. Негізгі компоненттерді орналастыру мен жөндеу
- •6.1.6.2. Панельдерді орналастыру және жөндеу
- •6.1.6.3. DbGrid компонентін жөндеу
- •6.1.6.4. Есептелетін өрісті құру
- •6.1.6.5. Форманы кестенің өрістер редакторынан алынған терезелермен толықтыру
- •6.1.8. «Деректерді көрсету» ішкі мәзірінің әдістері
- •6.1.8.1. Query компонентінің көмегімен сұрату арқылы таңдау
- •6.1.8.2. Table және Query компоненттерінің фильтрлерімен таңдау
- •6.1.9. Мәліметтерді сұрыптау әдістері
- •6.1.10. Мәліметтерді іздеу әдістері
- •6.1.12. ‘График’ мәзірі командасы әдісі және графиктің бапталуы
- •6.1.14. Проект мысалының листингісі
- •6.1.15. Локальдық мәліметтер қорымен жұмыс үшін тапсырмалар нұсқалары
- •6.1.16. Бақылау сұрақтары
- •6.2. Екі кестені біріктіруге арналған қосымша 1:1
- •6.2.1. Жұмыстың орындалу мақсаты және тапсырмалары
- •6.2.2. Қосымшаны өңдеу процесі
- •6.2.3. Екі кестедегі мәліметтерді біріктіру әдісі
- •6.2.4. Бақылау сұрақтары
- •6.3. Бір типті мәліметтер базасының кестелерінің қосу, ажырату және жасау қосымшасын құру
- •6.3.1. Жұмыстың орындалу мақсаты және тапсырмалары
- •6.3.2. Қосымшаны өңдеу процесі
- •6.3.3. Екі кестенің мәліметтерімен жұмыс жасауға арналған әдіс
- •6.3.4. Бақылау сұрақтары
- •Зертханалық жұмыс №2(4 сағат). Кестелермен байланысқан локальдық мәліметтер базасымен жұмыс
- •7.1. Тәуелді кесте жазбаларының құрылымын өңдеу үшін орнатылған Lockup қасиеті көмегімен кестелерден жіберілетін мәнді таңдауға арналған қосымша құру
- •7.1.1 Программаның орындалу мақсаты және тапсырмалары
- •7.1.2. Қосымшаны өңдеу процесі
- •7.1.3. Екі кестенің деректерімен жұмыс жасауға арналған әдіс
- •7.1.4. Бақылау сұрақтары
- •7.2. Тәуелді кестенің жаңа өрісін құру кезіндегі өрістердің редакторы көмегімен анықталған мүмкін болатын мәндерді таңдауға арналған кестесі бар қосымша
- •7.2.1. Жұмыстың мақсаты, тапсырмасы және орындалу процесі
- •7.2.2. Бақылау сұрақтары
- •7.3. Referential Integrity қасиетінің көмегімен байланысқан кестелерге арналған қосымша
- •7.3.1. Жұмыстың мақсаты және орындалу тапсырмасы
- •7.3.2. Жұмыстың орындалу барысы
- •7.3.3. Бақылау сұрақтары
7.2. Тәуелді кестенің жаңа өрісін құру кезіндегі өрістердің редакторы көмегімен анықталған мүмкін болатын мәндерді таңдауға арналған кестесі бар қосымша
7.2.1. Жұмыстың мақсаты, тапсырмасы және орындалу процесі
Жұмыстың мақсаты құламалы тізімі бар кестенің жаңа өрісінің көмегімен мүмкін болатын мәндердің құламалы тізімін құруға арналған тәсілдерді меңгеру болып табылады.
Жұмысты орындау және бақылау сұрақтарына дайындалу үшін 9.4.2.4. бөлімінің материалдарын қарастыру керек.
Негізгі және тәуелді – екі кестемен жұмыс жасауға арналған қосымшаны жасау. Тәуелді кестенің мүмкін болатын мәндері негізгі кестеден анықталады. Мүмкін болатын мәндердің тізімін құру үшін жаңа өрісті қолдану керек.
Жазбаның құрылымы 7.1.-бөлімнің жазба құрымына ұқсас.
Форма компоненттерінің құрамы және оларды жөндеу 7.1.2.-бөлімінде көрсетілгендермен ұқсас. Тәуелді кестенің жазбаларының құрылымын құру кезінде Table Lookup (таңдау кестесі) қасиетін орнатпау қажет.
Кестелер арасындағы байланысты құру үшін Table2 кестесінің өрістер редакторын шақыру керек. Оның контексттік (жанама) мәзірін шақыру (яғни, тышқанның оң жақ батырмасы арқылы). Одан New Field командасын таңдау. New Field терезесі пайда болады (7.6-сурет). Оның Field Properties бөліміне келесі қасиеттерді орнату:
Name терезесіне: жаңа өрістің аты; например, DepN; Component терезесіне: кестедегі жаңа өріс аты пайда болады, мысалы, Table2DepN;
Type терезесіне: жаңа өрістің талап етілетін типін құламалы тізімнен таңдау, мысалы, String;
Size терезесіне: символы берілген жолдың мөлшерін орнату, мысалы, 15.
Field Type бөлімінен Lookup – таңдау типін таңдау керек.
Lookup Definition (таңдауды анықтау) бөлімінен келесі мәндер тізімін таңдау:
Key Fields терезесіне: тәуелді кестенің байланысының кілттік өрісі (Table2)-Dep2;
Data Set терезесіне: мүмкін болатын мәндердің кесте-көзінің аты=Table1;
Lookup Keys терезесіне: бастапқы кестенің байланысының кілттік өрісі (Table1)=Dep1;
Result Field терезесіне: Table2=Dep1-дегі құламалы тізім үшін Table1-ден алынатын өрістің аты.
Table1 кестесінің редакторында құламалы тізімі бар жаңа өрісті құру нәтижесінде қасиеттерімен бірге жаңа өрістің аты пайда болады. Құламалы тізімі бар жаңа өрістің негізгі қасиеттері:
FieldKind=fkLookup; - жаңа өріс типі – құламалы;
FieldName=DepN; - жаңа өрістің аты;
KeyFields=Dep2; - Table2 тәуелді кестесінің байланысының кілттік өрісі;
LookupDataset=Table1; - мүмкін болатын мәндердің кесте-көзінің аты;
LookupKeyFields=Dep1; - Table1 бастапқы кестесінің байланысының кілттік өрісі;
LookupResultField=Dep1; - Құламалы тізім үшін Table1-ден алынатын өрістің аты.
Байланыс өрістерінің индекстелуі міндетті емес. (Dep1) байланыс өрісі (ResultField=Dep1) құламалы тізімінің өрісі болуы міндетті емес.
7.6-сурет. Құламалы тізімнен мәнін таңдау арқылы жаңа өрісті құруға арналған форма көрінісі
Қосымшаны әзірлеу кезіндегі құламалы тізімі бар форма көрінісі 7.7-суретте көрсетілген. Dep2 және DepN өрістерінің мәні бір-біріне ұқсас. Dep2 (отдел) мәнімен берілген бағанды көрінбейтін етуге болады. Қосымшаны жүргізу кезіндегі құламалы тізімі бар форма көрінісі 7.8-суретте көрсетілген. Форма модулінің тексті 7.2-листингіде келтірілген.
7.7-сурет. Қосымшаны әзірлеу кезіндегі құламалы тізімі бар форма көрінісі
7.8-сурет. Қосымшаны жүргізу кезіндегі құламалы тізімі бар форма көрінісі
7.2-листинг. Форма модулінің тексті
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ExtCtrls, DBCtrls, Grids, DBGrids, DBTables, StdCtrls,
Buttons;
type
TForm1 = class(TForm)
Table1: TTable; // - бөлім тізімі бар Dep кестесі үшін
DataSource1: TDataSource; // - “ ” “ ” “
DBGrid1: TDBGrid; // - “ ” “ ” “
DBNavigator1: TDBNavigator; // - “ ” “ ” “
Table2: TTable; // - қызметкерлер туралы мәлімет бар
// кесте үшін
DataSource2: TDataSource; // - “ ” “ ” “
DBGrid2: TDBGrid; // - “ ” “ ” “
DBNavigator2: TDBNavigator; // - “ ” “ ” “
// - Table1 кестесінің өрістері
Table1Dep1: TStringField; // - бөлімнің аты
Table1Proisv: TBooleanField; // - бөлім типінің аты
// - Table2 кестесінің өрістері
Table2Num: TAutoIncField; // - жазбаның нөмірі
Table2Dep2: TStringField; // - Table2DepN бөлімінің аты
Table2Fam: TStringField; // - фамилия
Table2Nam: TStringField; // - аты
Table2Par: TStringField; // - әкесінің аты
Table2Year_b: TSmallintField; // - туған күні
Table2Sex: TBooleanField; // - жынысы
Table2DepN: TStringField; // - құламалы тізімі бар бөлімнің аты
BitBtn1: TBitBtn; // - Выход батырмасы
Label1: TLabel; // - БАСТАПҚЫ кесте
Label2: TLabel; // - ТӘУЕЛДІ кесте
procedure FormActivate(Sender: TObject);
private { Private declarations }
public { Public declarations }
end;
var
Form1: TForm1;
Implementation {$R *.dfm}
// Dep2 өрісін кестеде көрінбейтін ету
procedure TForm1.FormActivate(Sender: TObject);
begin
DBGrid2.Columns[1].Visible:=False;
end; end.