過去の桐井戸端BBS (桐ver.8)
16289 一括処理上で結合表の絞り込み条件設定はどのようにすればいいのですか macoto 2002/06/10-17:09
初歩的なことですが、教えてください。
ver.8 sp6を使用しています。

AとBという表があり、Aをある条件で絞り込んでBと結合したいと考えています。
会話処理では結合表に絞り込み条件を設定すると良いようですが、
一括処理ではどのようにするのでしょうか。

たとえば、A.tblを特定の日時で絞り込んでおいて、B.tblと結合するというものです。

宜しくお願いいたします。


16290 Re:一括処理上での、結合表の絞り込み条件設定 KH 2002/06/10-20:00
記事番号16289へのコメント
macotoさん、こんばんわ。

>AとBという表があり、Aをある条件で絞り込んでBと結合したいと
>考えています。会話処理では結合表に絞り込み条件を設定すると
>良いようですが、一括処理ではどのようにするのでしょうか。

会話処理で結合表を作成してあれば、結合コマンドでその結合表ファイルを指定すれば出来ます。


16292 Re:一括処理上での、結合表の絞り込み条件設定 野良犬 2002/06/10-22:31
記事番号16289へのコメント
こんばんは

 主に2通りの方法があります。

1.結合表のファイル属性で"編集中の表を結合する"にチェックを付けておく。
  そして、一括処理で先に表を共有で開き、目的に合うように絞り込みます。
  その後結合すればOK。

2.結合表の絞り込み条件に変数を指定します。
  一括処理で、その変数に絞り込み条件を代入してから結合します。

おすすめは1です、汎用的ですし、一括以外からのその結合表が使えます。
が、外部DBに応用できるのは2です。
 

16294 Re:一括処理上での、結合表の絞り込み条件設定 macoto 2002/06/11-16:52
記事番号16292へのコメント
野良犬さん、KHさん、こんにちは。
早速のご教示を有難うございました。

>1.結合表のファイル属性で"編集中の表を結合する"にチェックを付けておく。
>  そして、一括処理で先に表を共有で開き、目的に合うように絞り込みます。
>  その後結合すればOK。

教えていただいたことを参考に以下のような一括処理を作成してみました。
絞り込み用のフォームや変数は省略しています。

*******************************
 表 "表A.tbl"
 絞り込み [受付日]{&受付日top≦[]≦&受付日end}

 結合 "結合表.viw"
 使用フォーム "data編集"
*******************************

表A.tblを事前に[受付日]で絞り込んで、表B.tblと結合するというものです。
そうしますと、結合コマンドのところで、"表data"は「KD1676:すでに異なる排他制御モードで使用しています」
というエラーメッセージが出てきます。
この意味が分からないのですが、教えていただけますでしょうか。


16295 Re:一括処理上での、結合表の絞り込み条件設定 macoto 2002/06/11-16:58
記事番号16294へのコメント
macotoです。下から3行目の記載が間違っていました。

>そうしますと、結合コマンドのところで、"表data"は「KD1676:すでに異なる

"表data"は、"表A.tbl"の間違いでした。
16296 Re:一括処理上での、結合表の絞り込み条件設定 KH 2002/06/11-20:03
記事番号16294へのコメント
>表A.tblを事前に[受付日]で絞り込んで、表B.tblと結合するというものです。
>そうしますと、結合コマンドのところで、"表data"は「KD1676:すでに異なる
>排他制御モードで使用しています」というエラーメッセージが出てきます。
>この意味が分からないのですが、教えていただけますでしょうか。

 専有で開いていますからエラーになります。表コマンドにモードを設定する必要があります。
モードは共有参照か共有更新になるでしょうが、どちらかは私にはわかりませんが。
以下は表コマンドのサンプルです。

  表 &KMaster,モード=共有参照,リトライ=しない,終了状態=&終了状態
16299 有難うございました macoto 2002/06/12-16:33
記事番号16296へのコメント
KHさん、こんにちは。

> 専有で開いていますからエラーになります。表コマンドにモードを設定する
> 必要があります。
> 表 &KMaster,モード=共有参照,リトライ=しない,終了状態=&終了状態

教えていただきましたように、表コマンドにモードを設定しましたら、
上手くいきました。有難うございました。

戻る