先ほど作った3つのテーブルを、データベース対応コンポーネントを使って編集する例を示します。
(1)Orderテーブルでは、購入者、商品名、個数、日付
をOrdId(注文番号)ごとに管理します。
以下のようにコンポーネントを配置してください
DBISAMDatabase1.Directory = c:\CustomerDB
DBISAMTable1.TableName = Customer.DAT
DataSource1.DateSet = DBISAMTable1
DBISAMTable1.TableName = Item.DAT
DataSource1.DateSet = DBISAMTable2
DBISAMTable1.TableName = Order.DAT
DataSource1.DateSet = DBISAMTable3
①DBEdit1
DataSource = DataSource3
DataField = OrdId
②DBLookupComboBox1
DataSource = DataSource3 更新するデータセット
DataField = Id 更新するフィールド
ListSource = DataSource1 選択させたいデータセット
ListField = Name 選択させたいフィールド
KeyField = Id 実際に代入する値のフィールド
これで、名前を選択すると、購入テーブルに該当Idが入ります
③DBEdit2
DataSource = DataSource1
DataField = Id
以下同様にセットしてください
④MonthCalendar1
⑤DBNavigator1
(2)MonthCalendarがクリックされたらDateを書き換えます:
procedure TForm1.MonthCalendar1Click(Sender: TObject); begin with DBISAMTable3 do begin if State = dsBrowse then Edit; FieldByName('Date').AsDateTime := MonthCalendar1.Date; end; end;
(3)以上で動作を確認してみます
漢字で表示された名前を選択すると、OrderテーブルにはIdが挿入されます