バッチ移動コンポーネントの作成
メモ: ボーランド データベース エンジン(BDE)は推奨されなくなったので、今後は機能強化されません。たとえば、BDE では Unicode はサポートされません。BDE を使用して新規に開発を始めないでください。既存のデータベース アプリケーションを BDE から dbExpress に移行することを検討してください。
バッチ移動コンポーネントを作成する手順は次のとおりです。
- レコードのインポート元となるテーブルコンポーネントまたは問い合わせコンポーネント(ソースデータセット)をフォームまたはデータモジュール上に置きます。
- レコードの移動先となるデータセット(転送先データセット)を、フォームまたはデータモジュール上に置きます。
- ツールパレットの[BDE]カテゴリにある Bde.DBTables.TBatchMove コンポーネントをデータモジュールまたはフォームに入れ、その Name プロパティをアプリケーションに適したユニークな値に設定します。
- バッチ移動コンポーネントの Source プロパティを、レコードのコピー元、追加元、または更新元のテーブルの名前に設定します。テーブルは利用可能なデータセットコンポーネントのドロップダウンリストから選択できます。
- Destination プロパティを、作成、追加、または更新するデータセットに設定します。対象のテーブルは、利用可能なデータセットコンポーネントのドロップダウンリストから選択できます。
- 追加、更新、削除の場合、Destination プロパティは既存のデータベーステーブルの名前である必要があります。
- テーブルのコピーで Destination が既存のテーブル名を表している場合にバッチ移動を実行すると、転送先テーブル内の現在のデータがすべて上書きされます。
- 既存のテーブルをコピーしてまったく新しいテーブルを作成する場合、作成されるテーブルには、コピー先のテーブルコンポーネントの Name プロパティに指定されている名前が付きます。作成されるテーブルタイプは、DatabaseName プロパティで指定したサーバーに適した構造の種類になります。
- Mode プロパティを実行する操作の種類を示すように設定します。有効な操作は、batAppend(デフォルト)、batUpdate、batAppendUpdate、batCopy、および batDelete です。これらのモードについては、「バッチ移動モードの指定」を参照してください。
- 必要であれば、Transliterate プロパティを設定します(オプション)。Transliterate が True(デフォルト)の場合、文字データは、必要に応じて Source データセットの文字セットから Destination データセットの文字セットに変換されます。
- 必要であれば、列のマッピングを Mappings プロパティで設定します(オプション)。ソーステーブルと転送先テーブルでの位置に基づいて列がバッチ移動で照合される場合は、このプロパティを設定する必要はありません。列のマッピングの詳細は、「データ型のマッピング」を参照してください。
- オプションで ChangedTableName、KeyViolTableName、ProblemTableName プロパティを指定します。バッチ処理中に検出された問題のあるレコードは、ProblemTableName で指定されたテーブルに保存されます。バッチ移動によって Paradox テーブルを更新している場合は、KeyViolTableName で指定したテーブルにキー違反が報告されるようにすることができます。ChangedTableName には、バッチ移動処理の結果、転送先テーブルで変更があったすべてのレコードが示されます。これらのプロパティを指定しないと、以上のエラーテーブルは作成も使用もされません。バッチ移動エラーの処理の詳細は、「バッチ移動エラーの処理」を参照してください。