外部データベースへの問合わせは,問合わせファイルをオープンすることによって実行されます。問合わせの結果は,DBPro の表 (問合わせ表) として表編集ウィンドウに表示されます。この表を問合わせ表と呼びます。あらかじめ,問合わせファイルを対象とするカードを作成しておけば,カード編集ウィンドウとして表示させることもできます。問合わせファイルのオープンと編集は,仮想の表を作り,クローズすると残らないという点でビューファイルのオープンと編集に似ています。
通常の表と同じように問合わせファイルをオープンすれば,外部データベースに対する問合わせが実行されて,得られたレコードを含む表編集ウィンドウがオープンされます。
操作
問合わせファイルまたは問合わせファイルを対象表としたカードファイルをオープンすると,外部データベースへの問合わせが実行されて,結果の問合わせ表が表編集ウィンドウまたはカード編集ウィンドウに表示されます。問合わせ表が表示されている編集ウィンドウは,基本的にはビュー表に対する編集ウィンドウと同じであり,ほぼすべての編集用メニューコマンドが利用できます。 対話編集での変更内容が即座には元のデータベースに反映されない点はビュー表の編集と似ていますが,外部データベース接続キットで追加されている独自コマンド [ファイル]-[外部データベース] により,編集した内容を元のデータベースに反映させることができます。
挿入用にオープンされた問合わせ表にレコードを挿入すると,そのレコードのレコード状態表示領域に挿入レコードマークが表示されます。これは,単なる目印であり,元のデータベースにそのレコードが挿入されているわけではない点に注意してください。実際に元のデータベースへ挿入するには,[ファイル]-[外部データベース]-[挿入] メニューを実行します。元のデータベースにない新しく挿入したレコードの内容を更新しても更新レコードマークは付きません。
[編集]-[レコード削除] によってレコードを削除しても,元のデータベースからは削除されません。そのレコードは結果表上から消えるだけです。元のデータベースから実際にレコードを削除するには,[ファイル]-[外部データベース]-[削除] を実行します。
更新用にオープンされた問合わせ表の項目値を編集すると,そのレコードのレコード状態表示領域に更新レコードマークが表示されます。これは,単なる目印であり,元のデータベースのデータがその内容に更新されているわけではない点に注意してください。実際に元のデータベースへ更新内容を反映させるには,[ファイル]-[外部データベース]-[更新] メニューを実行します。元のデータベースへ更新内容を実際に反映させると更新レコードマークは消えますが,そのレコードをさらに更新して,元のデータベースに反映させることができます。
注意:問合わせ表にユニークキーを含まないような場合,これらの更新操作を行なうと「複数のレコードが更新されました」とメッセージされることがあります。特に削除では削除しようとしたレコードと同一内容のレコードが元のデータベースからは削除されますが,問合わせ表には削除対象となったレコード以外残ってしまいます。そのようなときは,再問合わせを行なってください。
[ファイル]-[外部データベース]-[再問合わせ] メニューを実行すると,現在開いている問合わせファイルの定義に従って,外部データベースからデータを再度取り込みます。現在編集中の問合わせ表に更新レコードマーク や挿入レコードマークが付いているレコード (元のデータベースに反映されていないレコード) の内容は破棄されます。外部データベースに結果を反映させたいときは,[ファイル]-[外部データベース]-[更新] や [挿入] メニューを使います。
問合わせの探索条件に実行時指定のある場合,[ファイル]-[外部データベース]-[問合わせ] メニューを実行すると,その実行時パラメータを再設定してから再問合わせをすることができます。
問合わせファイルをオープンすると問合わせ表 (仮想の表) を作り,クローズするとその内容は破棄されます。問合わせ表の内容を保存したいときには,[ファイル]-[別名保存] メニューを使って問合わせ表を別の名前で保存します。別名保存の ファイル選択ダイアログが表示されます。
現在アクティブな問合わせ表に関する問合わせ作成ダイアログを開きます。このとき,オープンされている問合わせ表はそのままです。[定義へ] で表示される問合わせ作成ダイアログには [OK] ボタンはありません。[実行] ボタンを押すと,現在の問合わせ表はクローズされた,その後,新たな定義内容に従って問合わせ表がオープンされます。 問合わせファイルの問合わせ内容を変更してもう一度問合わせしたいときに,このメニューを使用します。