| Kanasy.Geさん ありがとうございます。
>肝心の部分がブラックボックス状態での質問なので、 すいません。問題となると思っている箇所のみ質問させていただいたつもりでしたが 早く解決するためにはオープンにする方がいいですよね。 ということで分かりにくいとは思いますが作成中のkevを見て下さい。
やりたい処理は以下の通りです。 1.フォーム"住居情報"で同封者設定ボタンをクリックすると機関誌親子設定()を実行 2.機関誌親子設定()の中で今回問題となっている表"機関誌親子(会員)"を開く 3.その表を編集するフォーム"機関誌親子設定.wfm"をモーダルで呼び出す 4.フォーム"機関誌親子設定.wfm"の開始時にグループ選択状態にする 5.そのフォームで訂正や行追加を行う 6.訂正や行追加を行ったことをキャンセルする(これが出来ません)
ここまで書いていてふと思ったのですが、フォームのコマンドボタン(機能名:閉じる)は フォームは閉じるが編集対象としている表は閉じないのでしょうか。
【住居情報.kev】フォーム"住居情報" 手続き定義開始 機関誌親子設定() /* フォーム"住居情報"の同封者設定ボタン押下時実行 */ 変数宣言 共通, 整数{&handlHONBU} ウィンドウリスト取得 &handlHONBU &表HONBU=#IS表 &選択ファイル名 = "機関誌" ファイル複写 "機関誌親子(会員).tbl","親子copy.tbl" 表 "機関誌親子(会員)" 変数宣言 固有,整数{&表機関誌親子= #IS表} フォーム呼び出し "機関誌親子設定.wfm", 編集表=する 手続き定義終了
【機関誌会費親子設定.kev】フォーム"機関誌親子設定" 手続き定義開始 フォーム::フォーム開始(長整数 &表番号) &処理 = &選択ファイル名 , &選択ファイル名 = #未定義 &STR = [更新日] 条件( &処理 = "機関誌" ) 変数宣言 固有,整数{&表機関誌親子= #IS表} 条件( &処理 = "会費" ) 変数宣言 固有,整数{&表会費親子 = #IS表} 書き出し 表 , "絞込" グループ検索 { [親会員] = &親会員番号 }, 終了状態 = &実行リターン if ( &実行リターン = 0 ) /* 指定グループが存在しない場合 */ グループ追加 { [親会員] = &親会員番号 }, 終了状態 = &実行リターン 行追加 終了状態=&実行リターン ジャンプ 行番号=前行 end 置換 終了状態=&実行リターン , [子の状況] = #未定義 , [表示順] = #連番 メソッド呼び出し @t子会員.フォーカス設定() 手続き定義終了
手続き定義開始 フォーム::フォーム終了() 手続き実行 機関誌同封数または送付先() ファイル削除 "絞込.tbl" /* いきなり中止で終了する時の対処 */ ファイル削除 "親子copy.tbl" 手続き定義終了
手続き定義開始 機関誌同封数または送付先() 編集表 &表HONBU &親会員番号 = [会員番号] 変数宣言 自動,文字列{&送付先処理} /* この手続き内のみ有効 */ &送付先処理 = #条件選択( [送付先]="本人" , "本人", [送付先]="別会員", "別会員" ) if([送付先]="本人" .or [送付先]="別会員") /* if_01 */ if(#変数( "表機関誌親子" )≠#未定義) /* if_04 */ if( &表機関誌親子≠#未定義) /* if_05 */ 編集表 &表機関誌親子 多重化 /* &表機関誌親子がオープン済みであれば多重化する */ else /* if_05 */ 表 "機関誌親子(会員)" end /* if_05 */ else /* if_04 */ 表 "機関誌親子(会員)" end /* if_04 */ &表親子 = #IS表 if(&送付先処理="本人") /* if_02 */ /* 同封数を取得 */ 絞り込み [親会員] = &親会員番号 &同封数 = &選択件数 else if( &送付先処理="別会員" ) /* if_02 */ /* 送付先会員番号を取得 */ &比較式 = #文字列(&親会員番号) 検索 [子会員]_&比較式, 終了状態 = &実行リターン 条件(&実行リターン = 1) &送付先 = [親会員] end /* if_02 */ 中止 表 &表親子 end /* if_01 */ 編集表 &表HONBU if([送付先]="非会員") /* if_03 */ 表 "機関誌親子(非会員)" &表親子 = #IS表 &比較式 = #文字列(&親会員番号) 検索 [子会員]_&比較式, 終了状態 = &実行リターン 条件(&実行リターン = 1) &送付先 = [非会員] 中止 表 &表親子 end /* if_03 */ &同封数表示 = 0 メソッド呼び出し @フォーム.変数変更() 手続き定義終了
|