過去の桐井戸端BBS (桐ver.8)
6388 一括処理で値集合を変更するには? kaz 2000/06/11-23:10
いつもお世話になります。
別の職場の仲間に配布する購入物品の保管場所登録一括処理を作成することになりました。

そこで,保管場所が各職場ごとに全く異なるため汎用性を持たせたいと考えております。
表引きという手もありますが今回はあえて値集合で単純にドロップダウンする様にしたいと思っています。

値集合の設定や変更に関するコマンドが私には見あたりません。
先輩諸氏のよきアドバイスをお願いいたします。
6390 Re:一括処理で値集合を変更するには? KH 2000/06/11-23:53
記事番号6388へのコメント
>値集合で単純にドロップダウンする様にしたいと思っています。
>値集合の設定や変更に関するコマンドが私には見あたりません。

kazさん、先日は失礼しました。
ドロップダウンと言う意味がわかりませんが、一括処理で値集合の変更するためのコマンドは
項目属性変更(DOS互換)、項目属性変更2(ウィンドウズになって新しくなったもの)です。
詳しいコマンドの書き方は、オンラインヘルプで見てください。
6393 Re:一括処理で値集合を変更するには? bonito 2000/06/12-09:15
記事番号6390へのコメント
kazさん、こんにちは。
値集合に固執(?)するならKHさんの属性変更2かな?
でもWIN桐でフォーム使用なら、TBLには何も設定せず、
WFMの入力支援ボタンのドロップダウンリストがお奨め品です (^^;

設定概略
1.当該WFMの当該テキストオブジェクトで右クリック
 して「ボタンの付加」にチェック(属性から入力時の
 操作、入力支援ボタンの道順もあります)
2.現れた入力支援ボタンを選んで(最初戸惑うがテキスト
 でクリック、ボタンでクリックします)
 選択値リストに適当な変数名 &選択肢 とかを入力
3.前景色、自動表示、自動終了等お好みに応じて設定
4.KEVあるいはCMDで配列変数宣言と値代入を行う
 例:
   変数宣言 文字列{&選択肢[50]}
   &選択肢[1]="ここ"
   &選択肢[2]="あそこ"
   &選択肢[3]="むこう"
   ・・・・・・・・・・
   (50個全て代入する必要はないです)
5.WFMを開く

大体こんな感じです、お試し下さい。
6418 Re:一括処理で値集合を変更するには? kaz 2000/06/13-16:16
記事番号6390へのコメント
KHさん ありがとうございます。


項目属性変更か項目属性変更2

オンラインヘルプでみましたが
私にはよくわかりません。
何がわからないかというと・・・・

項目属性変更 変更,[配置場所]{,,,,ここへどうかいたらいいの?}

よろしくお願いします。

6420 Re:一括処理で値集合を変更するには? KH 2000/06/13-19:25
記事番号6418へのコメント
>項目属性変更 変更,[配置場所]{,,,,ここへどうかいたらいいの?}

 オンラインヘルプは実例が少ないでしょうね。特に、値集合の実例がありませんから。
 以下に2つのコマンドの場合の値集合の変更例を示します。
どちらも同じ結果になります。
合否と言う項目の値集合を合か否をダウンリストから選べます。
3: だけなのは、合と否以外のデータを入力できるようにしているためのものです。

項目属性変更 変更,[合否],{,,,,"{0:合否,1:合,2:否,3:},編集{ ガイド""END:合否選択ウィンドウ""}"}

項目属性変更2 変更,[合否],{,,,,,,,,,"{1:""合"",2:""否""}001",,,"END:合否選択ウィンドウ"}

6422 Re:一括処理で値集合を変更するには? 宮城 2000/06/13-19:41
記事番号6420へのコメント
KHさん、うへ〜です。PDF読む限り

項目属性変更2 変更,[配置場所],{,,,,,,,,,{1:"あ",2:"い",3:"う",4:"え"}010}

にするでしょう、普通。
全体をダブルコーテーションで囲った上、ただのダブルコーテーションは2個続きとする。
こんなことを見抜かれた眼力にはただ敬服するばかりです。
6424 Re:一括処理で値集合を変更するには? kaz 2000/06/13-23:59
記事番号6422へのコメント
アドバイス 感謝です。
次のように書いてみたのですが
反応がありません。
どこがいけないのでしょうか?

名札 配置場所
 表 "備品名.tbl",モード=専有
ウィンドウ作成 表,位置=(10,75),サイズ=(1200,700),ハンドル=&表
表形式編集 ,画面消去=する,更新=許可,許可作業=*,,初期項目=[配置場所]
項目属性変更2 変更,[配置場所],{,,,,,,,,,"1:""倉庫1"",2:""倉庫2""}001",,,"end:配置場所選択ウィンドウ"}
ウィンドウ終了 &表
終了 表 編集対象表 
手続き終了

6425 Re:一括処理で値集合を変更するには? 悲しげ 2000/06/14-00:36
記事番号6424へのコメント
どもっ、kazさん

試してませんが、単に項目属性を変更するだけなら、ウィンドウ作成も表形式編集も
まったく必要ありません。
-------------------------------
表 "備品名.tbl",モード=専有
項目属性変更2 変更,[配置場所],{,,,,,,,,,"1:""倉庫1"",2:""倉庫2""}001",,,"end:配置場所選択ウィンドウ"}
*※
終了 表 編集対象表
-------------------------------
だけでいいと思います。画面に表示されないまま、値集合値が変更されている筈です。
結果を目で確認したければ、上記※印のところで「表形式編集」とだけ記述してみる
と云う方法もあります。

反応が無いと云うことは、エラーメッセージも出ないと云うことなのでしょうか?
とすれば、そもそも手続き実行で当該名札に飛んでいないことを意味するのかもしれません。
なお、

>名札 配置場所
> 表 "備品名.tbl",モード=専有
>ウィンドウ作成 表,位置=(10,75),サイズ=(1200,700),ハンドル=&表
>表形式編集 ,画面消去=する,更新=許可,許可作業=*,,初期項目=[配置場所]
>項目属性変更2 変更,[配置場所],{,,,,,,,,,"1:""倉庫1"",2:""倉庫2""}---以下略
>ウィンドウ終了 &表
>終了 表 編集対象表 
>手続き終了

で、何がいけないかと云うと、
最近あまり古典一括は使っていないので自信はありませんが(^^;)、「ウィンドウ作成」
した後で使うのは、「ウィンドウ会話」だと思います。
ただし、ウィンドウ作成しなくても、ハンドルは不定ながら、「表形式編集」は使えます(上述のように)。
それと

>表形式編集 ,画面消去=する,更新=許可,許可作業=*,,初期項目=[配置場所]
      ↑                 ↑
   このカンマは要りません。ここのカンマふたつもエラーになるはずです。
6426 Re:一括処理で値集合を変更するには? 郷司 2000/06/14-06:23
記事番号6425へのコメント
おはようございます、kazさん

&STR="1:倉庫1,2:倉庫2}001"
&STR2="end:配置場所選択ウィンドウ"
項目属性変更2 変更,[配置場所],{,,,,,,,,,&STR,,,&STR2}

とかすると、すっきりしてくると思います。


6430 Re:一括処理で値集合を変更するには? KH 2000/06/14-09:07
記事番号6424へのコメント
>名札 配置場所
> 表 "備品名.tbl",モード=専有
>ウィンドウ作成 表,位置=(10,75),サイズ=(1200,700),ハンドル=&表
>表形式編集 ,画面消去=する,更新=許可,許可作業=*,,初期項目=[配置場所]
>項目属性変更2 変更,[配置場所],{,,,,,,,,,"1:""倉庫1"",2:""倉庫2""}001",,,"end:配置場所選択ウィンドウ"}
>ウィンドウ終了 &表
>終了 表 編集対象表 
>手続き終了

根本的に違っているようです、順番が。

>名札 配置場所
> 表 "備品名.tbl",モード=専有
>   項目属性変更2 変更,[配置場所],{,,,,,,,,,"1:""倉庫1"",2:""倉庫2""}001",,,"end:配置場所選択ウィンドウ"}
>   表形式編集 画面消去=する,更新=許可,許可作業=*,,初期項目=[配置場所]
> 終了 表 編集対象表 
> 手続き終了

根本的に違っているようです、順番が。先に項目属性変更2の変更をしないと、編集に生きてこないです。
ウィンドウ作成がなくても一応はこれで動くと思います。コマンドの記述の誤りは見ていません。
仕事中の暇を見てコメントしていますのでこれで失礼。

6434 Re:一括処理で値集合を変更するには? 今村 誠 2000/06/14-12:13
記事番号6430へのコメント
KHさんは No.6430「Re:一括処理で値集合を変更するには?」で書きました。
>名札 配置場所
> 表 "備品名.tbl",モード=専有
>   項目属性変更2 変更,[配置場所],{,,,,,,,,,"1:""倉庫1"",2:""倉庫2""}001",,,"end:配置場所選択ウィンドウ"}
>   表形式編集 画面消去=する,更新=許可,許可作業=*,,初期項目=[配置場所]
> 終了 表 編集対象表 
> 手続き終了
このままだと表示しないと思います。
表形式編集する前に
表表示コマンドを追加するかウインド作成がいります
表編集だけで良ければ
>名札 配置場所
> 表 "備品名.tbl",モード=専有
>   項目属性変更2 変更,[配置場所],{,,,,,,,,,"1:""倉庫1"",2:""倉庫2""}001",,,"end:配置場所選択ウィンドウ"}
    表表示
>   表形式編集 画面消去=する,更新=許可,許可作業=*,,初期項目=[配置場所]
> 終了 表 編集対象表 
> 手続き終了
フォーム編集したいのであれば
フォームを使用フォームで宣言した後に
行表示
フォームウインドの位置を指定したいときは
ウインド作成
となるのでは?
おせっかいかもしれませんが、この手続きは、備品名TBL使用中は使用できませんので
表引きに指定していない他のTBLからのイベントか、古典一括(私もここからメニューに入っています。)
のメインメニューに定義する必要があると思います。

6460 Re:一括処理で値集合を変更するには? KH 2000/06/14-22:48
記事番号6434へのコメント
>>名札 配置場所
>> 表 "備品名.tbl",モード=専有
>>   項目属性変更2 変更,[配置場所],{,,,,,,,,,"1:""倉庫1"",2:""倉庫2""}001",,,"end:配置場所選択ウィンドウ"}
>>   表形式編集 画面消去=する,更新=許可,許可作業=*,初期項目=[配置場所]
>> 終了 表 編集対象表 
>> 手続き終了
>このままだと表示しないと思います。

 表形式編集がこのままで構文エラーがないとすると(私はカーソル方向など省略した事がないので。
また、kazさん、省略した場合、表形式編集では項目属性変更のようにカンマは要りません。)
コレで表示しますよ。その後訂正に移れます。
ウィンドウ作成はあのままではかなり付け加えなければならなかったからです。
とりあえず動かすためにkazさんにシンプルに説明したかったたためです。
ちょっと試してください。
主プログラムとの関係はあの状態では全く分かりませんがこの部分では動くはずですよ。

戻る