Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VP_LAB_BD_DELPHI.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
10.19 Mб
Скачать

7.1.3. Екі кестенің деректерімен жұмыс жасауға арналған әдіс

Table2 кестесінің Dep2 өрісі үшін мүмкін мәндердің құламалы тізімін Table1 кестесінің Dep1 өрісінің мәнінен жасау TForm.FormCreate әдісінің көмегімен форманы құру кезінде программалық түрде жасалынады. Әдіс: ... қамтамасыз етеді.

  1. DBGrid2.Columns[1].PickList.Clear;

операторымен тізімді тазартуды;

  1. First; және Next; әдістерінің көмегімен Table1 – кесте-көз жазбаларын іріктеуді;

  2. DBGrid2.Columns[1]-тегі тізімді Table1.FieldByName('Dep1')-дің кезекті мәнімен толықтыруды:

DBGrid2.Columns[1].PickList.Add(Table1.FieldByName('Dep1').Value);

қамтамасыз етеді.

Мүмкін мәндердің құламалы тізімі қолданылатын Table2 деректерімен жұмыс жасауға арналған форма модулінің тексті 7.1-листингіде берілген.

7.1-листинг. Мүмкін мәндердің құламалы тізімімен жұмыс жасауға арналған форма модулінің тексті

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, StdCtrls, Buttons, ExtCtrls, DBCtrls, Grids, DBGrids,

DBTables;

type

TForm1 = class(TForm)

Table1: TTable; // - DEP үшін

DBNavigator1: TDBNavigator; // - ” ”

DataSource1: TDataSource; // - ” ”

DBGrid1: TDBGrid; // - ” ”

Table2: TTable; // - PERS1 үшін

DataSource2: TDataSource; // - ” ”

DBGrid2: TDBGrid; // - ” ”

// DEP кестесінің өрістері

Table1Dep1: TStringField;

Table1Proisv: TBooleanField;

// PERS1 кестесінің өрістері

Table2Num: TAutoIncField; // - реттік нөмері

Table2Dep2: TStringField; // - бөлім

Table2Fam: TStringField; // - фамилия

Table2Nam: TStringField; // - аты

Table2Par: TStringField; // - әкесінің аты

Table2Year_b: TSmallintField; // - туған күні

Table2Sex: TBooleanField; // - жынысы

BitBtn1: TBitBtn; // - Выход батырмасы

Label1: TLabel; // - Негізгі кесте

Label2: TLabel; // - тәуелді кесте

procedure FormCreate(Sender: TObject);

private { Private declarations }

public { Public declarations }

end;

var

Form1: TForm1;

Implementation {$R *.dfm}

// Table1-ден PickList-ті толтыру

procedure TForm1.FormCreate(Sender: TObject);

begin

DBGrid2.Columns[1].PickList.Clear; // - тізімді тазарту

with Table1 do begin // - Table1-ге қосылу

First; // - Table1-дің бірінші жазбасына өту

while not EOF do

begin // - PickList тізімін толтыру

DBGrid2.Columns[1].PickList.Add(FieldByName('Dep1').Value);

Next; // - Table1-дің келесі жазбасына өту

end; // while

end; // with

end; // - әдістікі

end. // - модульдікі

7.1.4. Бақылау сұрақтары

  1. Тәуелді кестенің жазбалар құрылымын жасау кезінде негізгі және тәуелді кестелер арасындағы байланысты қалай орнатуға болады?

  2. DBGrid типті компонентінің булияндық типті өрістіне шығарылатын текстті қалай орнатуға болады?

  3. Тәуелді кестенің құламалы тізімін мүмкін болатын мәндермен қалай толтыруға болады?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]