InterBase7.5で作ったデータベースを、Delphiから表示させることができました。
やっと入り口に立てたところかな。
今度はレコードの操作をやってみます。
実は、便利なコンポーネントがあるんですよ。「TDBNavigator」コンポーネントです。
↓こんなボタンの集合体です。
しかし、ここでは勉強なので、ボタンを作って、ボタンをクリックしたときに作業するようにプログラムを書いてみようと思います。
こんな便利なのがあるんだから、実際はこれを使うほうが楽だと思いますが・・・
ボタンを5個配置しました。「TButton」コンポーネントです。
ボタンの上でダブルクリックをすると、イベントプロシジャーが開きますので、それぞれのイベントにコードを書きます。
プログラムのソース
//1つ前のレコードへ移動 procedure TfrmMain.btnAddClick(Sender: TObject); begin //レコードを追加する DataModule2.tblAddress.Append; end; procedure TfrmMain.btnBackClick(Sender: TObject); begin //1つ前のレコードへ移動 DataModule2.tblAddress.Prior; end; procedure TfrmMain.btnDeleteClick(Sender: TObject); begin if MessageDlg('削除してもいいですか?',mtConfirmation, [mbYes,mbNo],0) = mrYes then DataModule2.tblAddress.Delete;//レコードの削除 end; //次のレコードへ移動 procedure TfrmMain.btnNextClick(Sender: TObject); begin DataModule2.tblAddress.Next; end; procedure TfrmMain.btnSaveClick(Sender: TObject); begin //データを保存する DataModule2.tblAddress.ApplyUpdates(-1); end;
フィルターをかける
フィルターをかけるというのは、「指定したデータを探して取り出す」ということです。
一番簡単そうなヤツをやってみようと思います。
メインフォームの上のほうに、[TLabel]2つと[TEdit]を1つ[TButton]を2つ配置します。
「選択」「解除」のイベントプロシージャに次のコードを入力します。
//フィルターを解除する DataModule2.tblAddress.Filtered := False; //名前でフィルター(選択)する DataModule2.tblAddress.Filter := 'NAME=''' + edtName.Text + ''''; DataModule2.tblAddress.Filtered := True;