過去の桐井戸端BBS (桐ver.8)
23470 グループ選択解除後の読み込みができない 手塚 修 2003/11/24-11:44
 また、教えてください。
 
 桐8添付の成績管理を基に、一括処理で、ウインドウ作成、ウインドウ会話、
表"あ",使用フォー="あ"としています。フォームは、一つの編集対象表で、
グループ項目のあるメインフォーム(伝票形式)にサブフォーム(やはり伝票形式でグループ項目あり)を配置しています。

 一括処理で別な表(い)のデータを読み込みたいのですが、グループ選択解除をしても読み込まれません。
グループ選択解除のつぎの行に、表形式編集のコマンドを挿入すると読み込まれます。
このコマンドを挿入することなく(不恰好)読み込みができればと試行しています。
 
 フォームに問題があるのでしょうか?
 ヒントを教えてもらえればありがたいのですが?

 よろしくお願いいたします。
23471 Re:グループ選択解除後の読み込みができない 悲しげ 2003/11/24-16:52
記事番号23470へのコメント
どもっ、手塚さん
私は、ウインドウ作成、ウインドウ会話、使用フォームの類は、
久しく使っていないので外しているかもしれませんが──

これは読み込みされてないのではなく、読みこんだ結果が画面に反映されていないのではないでしょうか。
この辺りは、「グループ選択解除」した後、再度「グループ選択」させる必要があったと思います。
拙作の中に次のようにしているものがあったので、以下に挙げておきます。

 グループ選択解除
 読み込み 表,"い.tbl",編集表=……,終了状態=&終了,*
 グループ選択
 並べ替え 索引名="なんとか順"

23477 Re:グループ選択解除後の読み込みができない 手塚 修 2003/11/25-07:48
記事番号23471へのコメント
悲しげさん ありがとうございます。

>これは読み込みされてないのではなく、読みこんだ結果が画面に
>反映されていないのではないでしょうか。
 画面ではなく、表での読み込みです。
一括処理の中で、その途中に"表形式編集"のコマンドを挿入し、表の移り変わりをみていますが、やはり読み込めません。
 具体的には、
       グループ検索 {[指定年月] = &指定年月},終了状態 = &G終了
  条件 ( &G終了 = 0 )
グループ選択解除
ジャンプ 行番号 = 終端
       *表形式編集あるいは*使用フォーム
          読み込み 表,"車両台帳.tbl",編集表 =する,*

 5行目の*表形式編集の*を取り、表形式編集とすれば読み込まれます。
コマンド"使用フォーム"と挿入しても読み込まれますが、後のグループ選択の時、
使用フォームがありませんとなりうまく機能しません。

>この辺りは、「グループ選択解除」した後、再度「グループ選択」
>させる必要があったと思います。拙作の中に次のようにしている
>ものがあったので、以下に挙げておきます。

 読み込みのあとはこのようにしています。

 表とフォームの間での切り替えが正確にできていないためでしょうか?

 よろしくお願いいたします。


23479 Re:グループ選択解除後の読み込みができない 今村 誠 2003/11/25-11:00
記事番号23477へのコメント
手塚さんこんにちは

>一括処理で別な表(い)のデータを読み込みたいのですが、グループ選択解除をし
>ても読み込まれません。グループ選択解除のつぎの行に、表形式編集のコマンドを
>挿入すると読み込まれます。このコマンドを挿入することなく(不恰好)読み込みが
>できればと試行しています。
>コマンド"使用フォーム"と挿入しても読み込まれますが、後のグループ選択の時、
>使用フォームがありませんとなりうまく機能しません。    

1:一括処理のウィンド会話でコマンドボタンから一括に戻って読み込ませたい。
2:イベントファイルの中で読み込ませたい。

手塚さんはどちらをしたいのでしょうか?

例えば1の場合は使用フォームよりもウィンド終了後に読み込ませて
再度フォームを開いてウィンド会話すれば簡単に実現できそうな気がしますが。

2の場合はメインフォームでグループ解除してもサブフォームがグループ選択状態なので
読み込めないような気がします。
手続きの中でメソッド実行()してサブフォームのグループ解除もする必要があるのではないでしょうか。

他の方が実験できるようなサンプルをアップするともっと具体的な解決策が見つかると思います。
23482 Re:グループ選択解除後の読み込みができない 悲しげ 2003/11/25-14:10
記事番号23477へのコメント
何だかインデント(字下げ)がズレズレとなっていますね。(^^;)
「条件」コマンドは1行についてしか利きませんから、
もし引用したものが間違いないとすれば、次行の「読み込み」コマンドが
グループ選択非解除状態で実行される可能性があります。
以下のように「ケース」(またはif〜end)で囲んで実行させたらどうなるでしょう。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
グループ検索 {[指定年月] = &指定年月},終了状態 = &G終了
ケース開始
ケース ( &G終了 = 0 )
 グループ選択解除
 読み込み 表,"車両台帳.tbl",編集表 =する,*
 *検索 [指定年月]{&指定年月},終了状態=&end /*不要かも?*/
 グループ選択
 *グループ検索 {[指定年月]=&指定年月},終了状態=&G終了 /*不要かも?*/
ケース終了
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

23483 Re:グループ選択解除後の読み込みができない 尾形 2003/11/25-15:31
記事番号23477へのコメント
こんにちは

指定の年月が無ければ、車両台帳から読み込みするようにしたいのだと思いますが
>読み込み 表,"車両台帳.tbl",編集表 =する,*

車両台帳.tblにはグループ項目の[指定年月]はあるのですか?
この[指定年月]が無いのであれば[指定年月]は未定義で読込すると思います。
未定義値グループに読み込みされてませんか?

23495 Re:グループ選択解除後の読み込みができない 手塚 修 2003/11/26-07:14
記事番号23479へのコメント
お世話になります。

ウィンドウ作成 "メイン.wfm",位置 = ( 50,50 ),ハンドル = &メインメニュー
ウィンドウ会話 &メインメニュー,ボタン = &ボタン
  表 "走行距離.tbl",モード = 専有,使用フォーム = "走行距離.wfm"
    条件 ( &ボタン = "走行距離入力" ) /*走行距離入力開始 */
          代入  &指定年=15
          代入  &指定月=5
          代入  &指定年月= &指定年*100+ &指定月
       グループ検索 {[指定年月] = &指定年月},終了状態 = &G終了
条件 ( &G終了 = 0 )
グループ選択解除
ジャンプ 行番号 = 終端
          読み込み 表,"車両台帳.tbl",編集表 = する,*
絞り込み [指定年月] = #u
  置換 [指定年月] = 1505
絞り込み解除 *
グループ選択
  グループ検索 {[指定年月]=&指定年月}
   中止 表
ウィンドウ終了 &メインメニュー
 終了

 走行距離.tblは[番号][車両番号][走行距離][指定年][指定月][指定年月]、車両台帳.tblは[番号][車両番号]の項目です。
走行距離.wfmは[指定年月][指定年][指定月]でグループ化した伝票形式のフォ-ム。
 
 読み込みがうまくできないために、テストとして、作成中の一括を短くしたもの(要約)です。
再度記すことになりますが、"ジャンプ 行番号 = 終端" の行と "読み込み 表,"車両台帳.tbl",編集表 = する,*" の行の間に
「表形式編集」コマンド或いは「使用フォーム」コマンドを挿入すると読み込まれます。
 
 悲しげさん 尾形さん まだ試していません。ごめんなさい。

 よろしくお願いいたします。


23496 Re:グループ選択解除後の読み込みができない 手塚 修 2003/11/26-07:27
記事番号23482へのコメント
 悲しげさん お世話になります。

>何だかインデント(字下げ)がズレズレとなっていますね。(^^;)

 何のことかわかりませんでした。ようやく意味がわかりました。
投稿する前に印刷して、確認してから投稿していましたが、今回の一括もズレズレです。
意味はわかりましたが、次回のためにどうしたら良いか?また難問です。

 ズレズレの一括、見にくい事限りなし。何とか理解の程。

 よろしくお願いいたします。
23497 Re:グループ選択解除後の読み込みができない うにん 2003/11/26-09:08
記事番号23495へのコメント
インデントには全角スペースを使いましょう。
投稿内容はHTMLとして表示されるので連続した半角スペースは1つとして扱われます。

> ウィンドウ作成 "メイン.wfm",位置 = ( 50,50 ),ハンドル = &メインメニュー
> ウィンドウ会話 &メインメニュー,ボタン = &ボタン
>   表 "走行距離.tbl",モード = 専有,使用フォーム = "走行距離.wfm"
>     条件 ( &ボタン = "走行距離入力" ) /*走行距離入力開始 */
>          代入  &指定年=15
>          代入  &指定月=5
>          代入  &指定年月= &指定年*100+ &指定月
>        グループ検索 {[指定年月] = &指定年月},終了状態 = &G終了
> 条件 ( &G終了 = 0 )

すでに指摘されたと思いますが条件コマンドは処理内容を同じ行に書かないとだめです。

> グループ選択解除
> ジャンプ 行番号 = 終端
>          読み込み 表,"車両台帳.tbl",編集表 = する,*
> 絞り込み [指定年月] = #u
>   置換 [指定年月] = 1505
> 絞り込み解除 *
> グループ選択
>  グループ検索 {[指定年月]=&指定年月}
>   中止 表

ここで中止したので全ての処理がキャンセルされています。
と思ったのですが、バックアップなしなら保存されますね。
それに、今はこういう書式はないですね。必ず「,なにか」が必要。

23514 Re:確認していませんが(^。^) 今村 誠 2003/11/26-15:18
記事番号23497へのコメント
var 固有,Long{&終了,&メインメニュー},固有,Str{&メインボタン} 
繰り返し
  ウィンドウ作成 "メイン.wfm",位置 = ( 50,50 ),ハンドル = &メインメニュー
  &メインボタン=#cond(&メインボタン<>"","@"+&メインボタン,1,"@c終了"),\
  &メインボタン="ウィンドウ会話 &メインメニュー,カーソル=→,更新=許可,許可作業=*,初期項目="+&メインボタン+",終了状態=&終了,ボタン=&メインボタン,モーダル=しない"
  コマンド &メインボタン
   ケース開始
    ケース (&メインボタン = "車両管理")
     ウィンドウ終了 &メインメニュー
     手続き実行  車両管理()
    ケース (&メインボタン="c他の処理")
     ウィンドウ終了 &メインメニュー
     手続き実行 他の処理() 
    ケース (&メインボタン="c終了")
     繰り返し中止
   ケース終了
繰り返し終了
 ウィンドウ終了 &メインメニュー
 終了

proc 車両管理()
 var Long{&サブメニュー,&G終了=0,&指定年,&指定月,&指定年月,&表の番号},Str{&サブボタン}
 表 "走行距離.tbl",モード = 専有
 繰り返し
  条件 (&G終了=0) ウィンドウ作成  "走行距離.wfm",位置= ( 50,50 ), ハンドル = &サブメニュー, 編集表 = する
  ウィンドウ会話 &サブメニュー,ボタン = &サブボタン
   ケース開始
    ケース ( &サブボタン = "走行距離入力" ) /*走行距離入力開始 */
     代入 &指定年=15,&指定月=5,&指定年月= &指定年*100+ &指定月,&表の番号=#IS表
        
     グループ検索 {[指定年月] = &指定年月},終了状態 = &G終了
     ケース開始
      ケース ( &G終了 = 0 )
       ウィンドウ終了 &サブメニュー
       解除 *
*       確認 "現在の編集表"+#表ファイル名(&表の番号)+"絞り込み"+#STR(#絞り込み状態)+"段階"
       ジャンプ 行番号 = 終端
       読み込み 表,"車両台帳.tbl",編集表 = する
       絞り込み [指定年月] = #u
       置換 [指定年月] = 1505
*       表形式編集
       絞り込み解除 *
      ケース その他
       フォーム形式編集
     ケース終了
    ケース  ( &サブボタン = "c終了" ) /* メインメニューに戻る*/
     繰り返し中止
   ケース終了
 繰り返し終了
 条件 ( &サブボタン = "c終了" ) ウィンドウ終了 &サブメニュー
 条件 ( &サブボタン = "c終了" ) 終了 表
 条件 ( &サブボタン = "c終了" ) 手続き終了
end
23533 Re:余談ですが(^。^) うにん 2003/11/26-21:13
記事番号23514へのコメント

> 条件 ( &サブボタン = "c終了" ) 終了 表

中止と同様、終了 表コマンドも「*|<表番号>,…|編集対象表」なので
何かパラメータが必要なのが現在の書式です。
ところが「桐5との違い」のとこに何も書いてないのであれ〜と思って、
よくよく考えたらパラメータがないのは同時に複数の表を開けなかった
Ver2(!?)頃の書式だったですよね(^^;
表を閉じるだけで一括処理は続行という...

23536 Re:余談ですが(^。^) 今村 誠 2003/11/26-21:58
記事番号23533へのコメント
うにんさんこんにちは
>> 条件 ( &サブボタン = "c終了" ) 終了 表
>中止と同様、終了 表コマンドも「*|<表番号>,…|編集対象表」なので
>何かパラメータが必要なのが現在の書式です。
>Ver2(!?)頃の書式だったですよね(^^;
>表を閉じるだけで一括処理は続行という...
チェック漏れでした。(^。^)
いつもはメインメニューの最初に書いているのですが

終了 表 *

桐5の時は



だったのですが、表形式編集の表示幅などが保存できなかったので
終了 表 *
に変更したような記憶があります。
23539 Re:確認していませんが(^。^) 手塚 修 2003/11/27-07:24
記事番号23514へのコメント
 今村さん ありがとうございます。
ちょっと難しいなと感じましたが、これからよく読んで勉強します。

 皆さん ありがとうございました。
今のところ、朝の1時間しかパソコンに向き合えない為、皆さんが教えてくれたこと
まだ試せておりません。コマンドの参考書を引き、1行ごとに確認していけば、
理解できるかなと思っています。走行距離の管理、次には経費の管理、
他への利用の基本ができればと考えております。

 お世話になりました。


戻る