併合ダイアログ
併合の対象表や併合方法を設定し,実行します。また,設定した併合定義に名前を付けて登録します。
- 目次
- 手順概要
- 共通部分
- 処理ページ
- 照合ページ
- 条件ページ
- 更新ページ
- 更新式ページ
- 関連項目
新たに併合のパラメータを指定する場合,
- 併合の相手となる対象表を指定します。
- 現在開いている表を更新(または選択)するのか,あるいは対象表を更新するのかを[併合方向]に指定します。
- 併合元のレコードと照合された併合先(更新されるファイル)のレコードに対して実行される操作の種類(更新,削除,選択)を指定します。
- 照合ページでレコードの照合に使うキー項目を指定します。
- 照合されたレコードに対して更に更新するための条件がある場合は,条件ページで指定します。照合されたレコードであっても条件ページで指定した条件が成り立たない場合には更新されません。
- レコードに対する操作として「更新」または「更新かつ選択」を指定した場合は,更新ページで更新すべき項目と値を指定します。更新式ページで複雑な式による更新を指定することもできます。
- 以上を指定して[OK]を押せば併合が実行されますが,ここで指定した併合のパラメータを後で再利用するために登録することができます。[併合定義名]を指定して[定義登録]ボタンを押してください。
すでに登録されている併合定義を利用する場合,
- [併合定義名]から利用したい併合定義を選びます。
- [OK]ボタンを押すと選んだ併合定義によって併合が実行されます。
一部のパラメータだけを修正してから実行することもできます。
- 併合定義名
- 以下で説明するパラメータの組に名前を付けて表ファイル内に登録することができます。新しい併合定義を作成するときは,[併合定義名]から <新規> を選び,併合定義名を入力します。[定義登録]ボタンを押すと,そのときダイアログ中に設定されていたパラメータが表ファイルに登録されます。
登録されている併合定義を呼び出すには,[併合定義名]リストボックスから呼び出したい併合定義の名前を選びます。その名前で登録されているパラメータがダイアログに設定されます。そのまま[OK]ボタンを押せば,その併合定義で併合が実行されます。
併合を実行するためには,必ずしも併合定義を表に登録する必要はありません。ダイアログのパラメータを設定し,そのまま[OK]ボタンを押せば,設定されているパラメータに従って併合が実行されます。同様に,登録されている併合定義を選んでパラメータを設定し,一部だけを変更して併合を実行することもできます。
- 順序ボタン
- 登録順序変更ダイアログが開き,併合定義名の表示順序を入れ替えます。
- 定義登録/更新ボタン
- [併合定義名]に未登録の名前が設定されているときは[定義登録]ボタンになり,[併合定義名]に既登録の名前が設定され,パラメータが変更されたときには[定義更新]ボタンになります。それぞれ,新たに併合定義を登録,または更新します。
- 定義削除ボタン
- [併合定義名]に既登録の名前が設定されているときだけ有効で,これを押すとその併合定義が削除されます。削除された併合定義情報は,変更するまではダイアログ上に残ります。
- 併合対象ファイルを開く
- 併合実行後に併合対象のファイル(併合先または併合元)を開きます。新たに開く場合は表編集ウィンドウとして開かれますが,対象ファイルがすでに開かれている場合にはそのウィンドウがアクティブになるだけです。
この指定は併合定義中には保存されません。
- 選択結果を同じウィンドウに表示
- [一致レコード操作]が「選択」または「更新かつ選択」であるときだけ指定できます。選択されたレコードを,「現在表を操作」であれば現在のウィンドウと同じウィンドウに,「対象表を操作」であれば対象表の実表ウィンドウと同じウィンドウに表示します。
この指定は併合定義中には保存されません。
- 併合対象表
- 併合の対象となるもう一方の表ファイルを指定します。[...]ボタンを押し,ファイル選択ダイアログから対象表を選ぶこともできます。
- 併合方向
- 併合によって更新される(または選択される)表を指定します。
- 現在表を操作
- 対象表を併合元,編集中の表を併合先として,編集中の表を更新します。
- 対象表を操作
- 編集中の表を併合元,対象表を併合先として,対象表を更新します。
- 一致レコード操作
- 照合のキー項目が一致したレコードに対して,どのような操作を行なうのか指定します。照合キー項目は,照合ページで指定します。
- 更新
- 一致したレコードの項目を,併合元の項目の値で更新します。単純な複写の他に,加算,減算などを指定できます。どの項目をどのように更新するかは更新ページで指定します。更新ページでは指定できない複雑な更新を行ないたいときは更新式ページで代入式を使って指定します。
- 削除
- 一致したレコードを削除します。
- 選択
- 一致したレコードを選択して,選択ウィンドウを開きます。
- 更新かつ選択
- 一致したレコードの項目を更新したうえで,それらのレコードを選択ウィンドウに表示します。
- なし
- キー項目が一致しても何も実行されません。これは,[一致しないレコード挿入] と組み合わせて指定し,併合先に対して,併合元には存在しないレコードの挿入だけを行ないたいときに指定します。[一致しないレコード挿入] を指定しないと,何も変化しない意味のない併合になります。
- 一致しないレコード挿入
- 併合元のレコードのうち,併合先のレコードと照合されないものについて,併合先に新たなレコードを挿入します。これにより,マスタファイルや台帳に登録されていないデータを自動的に登録することができます。
挿入されるレコードの各項目の値は,更新ページまたは更新式ページで指定されたものだけが設定されます。
これを指定すると,[一致レコード操作]で併合先の変更を指定していない場合(「選択」と「なし」)でも併合先ファイルにレコードが挿入される可能性があるので注意してください。
[一致レコード操作]で「削除」を指定した場合,[一致しないレコード挿入]は指定できません。
照合ページでは,併合元ファイルのレコードと併合先ファイルの更新されるレコードとの対応づけを決めるための照合キー項目を指定します。処理手順は,おおむね次の順序になります。
- 併合先リストボックスと併合元リストボックスから,対応付けのために照合される項目をそれぞれ選びます。
- 比較方法を指定します。単純な一致比較のほかに,基本つづり一致が指定できます。
- [追加]ボタンを押すと,[照合項目]に追加されます。
照合ページで指定した照合項目の組は,処理ページで[一致しないレコード挿入]が指定されていた場合には代入の組としても解釈されます。すなわち,照合項目が一致しないために併合先に新たなレコードが挿入されるとき,照合項目には併合元の照合項目の値が複写されます。
- 照合項目
- 指定した照合条件が表示されます。左側に併合先の照合項目,右側に併合元の照合項目,中央にそれらの項目に対する比較方法が表示されます。[ナル同士一致]が指定されている場合には,比較方法の後ろに「:ナル一致」と表示されます。
照合項目を一つも指定しないと,条件ページで指定した条件だけで更新対象となるレコードが決定されます。
併合の実行のためには少なくとも一つ以上の照合項目が指定されているか,条件ページの条件式が指定されていなければなりません。
- 併合先
- データが更新される側の表ファイルの項目が表示されています。* が付いている項目は,計算項目または一時項目です。
- 併合元
- 更新の元データとなる側の表ファイルの項目が表示されています。
- 比較
- 併合先の項目と併合元の項目とを比較する方法を指定します。次から選べます。
- 一致
- 両方の項目が完全に一致したときだけ一致と判定されます。
- 基本つづり一致
- 両方の項目が基本つづりで一致したときに一致と判定されます。文字列型の項目に対してだけ指定できます。
- ナル同士一致
- チェックすると両方の項目がナルであったときに一致と判定されます。チェックしないときはナル同士は一致とは見なされません。
- 追加ボタン
- [併合先]の項目と[併合元]の項目を[比較]の方法で照合するという照合条件を,[照合項目]に追加します。
- 削除ボタン
- [照合項目]で指定されている照合条件を削除します。
- 条件式
- 照合ページで指定した照合条件によって一致した二つのレコードについて,さらにここで指定する条件を満たす場合にだけ実際の更新が行なわれるように指定します。
[...]ボタンを押すと,式入力ダイアログを使って条件式を入力できます。
併合の条件式に書く項目名には,併合元の表か併合先の表かを示す表修飾子(項目参照)を必ず付けなければなりません。
処理ページの[一致レコード操作]が「更新」または「更新かつ選択」であるか,あるいは[一致しないレコード挿入]が指定されているときだけ以下の更新内容を指定します。
- 更新項目
- 指定した更新操作が表示されます。左側に併合先の更新される項目,右側に併合元の更新データ,中央にそれらの項目に対する操作方法が表示されます。
- 併合先
- データが更新される側の表ファイルの項目が表示されています。* が付いている項目は,計算項目または一時項目です。この項目を更新するような指定はできません。
- 併合元
- 更新の元データとなる側の表ファイルの項目が表示されています。
- 操作
- 併合先の項目に対してどのような更新をするか指定します。次の操作から選べます。
- 複写
- 併合先の項目を,併合元の一致したレコードの項目で置き換えます。
- 加算
- 併合先の項目に,併合元の一致したレコードの項目を加算あるいは連結(文字列型のとき)します。データ型によって次の組合わせが可能です。
併合先 | 併合元 |
文字列 | 文字列 |
数値/整数/実数 | 数値/整数/実数 |
日付 | 年月間隔/日時間隔 |
時刻 | 日時間隔 |
年月間隔 | 年月間隔 |
日時間隔 | 日時間隔 |
- 減算
- 併合先の項目から,併合元の一致したレコードの項目を減算します。データ型によって次の組合わせが可能です。
併合先 | 併合元 |
文字列 | 不可 |
数値/整数/実数 | 数値/整数/実数 |
日付 | 年月間隔/日時間隔 |
時刻 | 日時間隔 |
年月間隔 | 年月間隔 |
日時間隔 | 日時間隔 |
- あれば
- [あれば]をチェックすると,[操作]で指定するすべての操作に対して,併合元の項目がナルであったときには何もしないことを指示します。すなわち,
- あれば複写
- 併合元の一致するレコードの項目値がナルのときは,併合先の項目は変更されません。
- あれば加算
- ナル値の扱いが「ゼロ」であるときには,通常の加算となんら変わりません。ナル値の扱いが「ナル」であるときには,[あれば]を指定することによって,併合元がナルであるときに併合先がナルになってしまうことを防ぎます。
- あれば減算
- あれば加算と同様です。
- 追加ボタン
- [併合先]の項目と[併合元]の項目を[操作]の方法で更新するという指定を,[更新項目]に追加します。
- 削除ボタン
- [更新項目]で指定されている操作を削除します。
更新ページで指定する項目ごとの更新操作では指定できないような複雑な更新を指定するときは更新式で指定します。
- 更新式
- 併合先の項目に対する代入式として更新操作を指定します。すなわち,併合先の項目を代入の左辺とし,右辺には任意の式を書くことができます。右辺の式では,併合元や併合先の任意の項目を参照できるほか,組込み関数を利用することによってさまざまな条件も記述できます。
- 例
- JINJI.[給与] := #IF(#ISNULL(JINJI.[役職]),JINJI.[給与]*BASEUP.[昇給率],JINJI.[給与])
複数の項目を更新したい場合は,コンマで区切って複数の代入式を書きます。
更新式に書く項目名には,併合元の表か併合先の表かを示す表修飾子(項目参照)を必ず付けなければなりません。
[...]ボタンを押すと式入力ダイアログが利用できます。
- [表操作]-[併合]
- 機能ガイド:複数ファイルの操作