過去の桐井戸端BBS (桐ver.9)
31164 サブフォームで絞込み状態をリアルタイム表示したい mataka 2006/02/17-19:13
初めて投稿致します。
問題が発生都度ここで検索し解決出来ていたのですが、今回は検索出来ませんでした。(見つけれないだけと思いますが・・・)
ご教示よろしくお願い致します。

環境 WIN XP  kiriver.9 です。

メイン&サブフォームで、
メイン=カード、サブ=一覧表、表=同じ表 です。
メインには、[ゼッケンNO],[名前],[ゴール時間],[ゴ確認]・・・他、個人DATA
 ※[ゴール時間]が入ると、[ゴ確認]へ"済"・・・表の項目計算式
サブには、[ゼッケンNO],[名前],[ゴール時間]の3項目です。
表には、DATAがあらかじめ入っており、200件程度のレコードです。

簡単に流れを書き出します。(イベント使用)
@フォーム開始 サブ(一覧表)側でゴール者絞込み
 ※当然、最初は誰も絞込みされていません。
Aメイン側(カード)で、ゴール者をバーコード(&ゼッケン)で読み取る
B検索 [ゼッケンNO]{&ゼッケン} → 行訂正 [ゴール時間]=#時刻 → 再度、バー
 コード入力待ちにする。
*------------------
Cサブフォーム(一覧表)側は、ゴール者が入ったら([ゴ確認]="済")、リア
 ルタイムに表示
*------------------
Cを実行させる為、絞込み解除→絞込み [ゴ確認]="済"をすれば反映される
 と思ったのですが、表示されません。フォームを1回切り替えると(手入力
 画面へ移行:手入力画面も同じ一覧表を持っており、バーコードか手かの
 違い)すると反映されます。

ここでフォームを更新させれば反映されることはわかったのですが、同フォーム内でどうすればよいかわかりません。

よろしくお願い致します。
31165 Re:サブフォームで絞込み状態をリアルタイム表示したい アックン 2006/02/17-20:00
記事番号31164へのコメント
matakaさん、こんにちは。
たゆーさんの掲示板で最近同じような内容があるので、読んでみてください。

http://www2u.biglobe.ne.jp/~s_tanaka/bbs/kiri/cbbs.cgi
サブフォームにリアルタイムで表示させたい / 沼田 (05/12/13(Tue) 09:54) #738
Re[1]: サブフォームにリアルタイムで表・. / アックン (05/12/16(Fri) 11:48) #752
Re[2]: サブフォームにリアルタイムで表・. / 沼田 (05/12/18(Sun) 13:12) #760

お使いのイベントによっては、有効でないかもしれません。
うまくいかないときは、イベント内容を書くなり、サンプルをアップすると、回答が早く着きますよ。
過去ログや現在の板に同じような内容があっても、いっこうにかまわないので、気軽に質問してくださいね。

アックン(=^・^=)
31166 Re:サブフォームで絞込み状態をリアルタイム表示したい mataka 2006/02/17-20:38
記事番号31165へのコメント
アックンさん、こんにちは。
早速ありがとうございました。

確認しにいきました。同じ様な内容みたいですね!
早速といきたいところですが、3児の父でもありまして、しかも皆男児・・・
(下はまだミルクも・・・) あ、関係ないですね!すみません・・・

お風呂に入れ、寝かせつけ、その後・・・そのまま寝るパターンとなっております。
仕事の始まりは、朝4:00以降に起きてやってみます。
もし、解決しない場合はこのツリーで質問させてください。
                                mataka
31190 Re:サブフォームで絞込み状態をリアルタイム表示したい アックン 2006/02/18-19:41
記事番号31166へのコメント
matakaさんからそのうち報告があると思いますが、ぼくの方から先に経過報告を。
matakaさんから思いがけず今朝サンプルファイルをもらったので、イベントファイルを
修正して午後送りました。
かなりこったメイン&サブフォームで、絞り込みをしてもサブフォームに反映されない
という状況でした。
編集表コマンドでメインとサブの編集対象表を切り替えることで解決しました。

3児のパパは家族と一緒の大切な時間を過ごしてくださいね。
レスはゆっくりでいいのですよ。
アックン(=^・^=)


31193 Re:サブフォームで絞込み状態をリアルタイム表示したい mataka 2006/02/19-06:06
記事番号31190へのコメント
アックンさん どうもありがとうございました。
先に報告されておられたのですね。私が先に報告するべきところすみません。

早速、報告です。
私は、フォームでなんとか出来る!の偏った思考で(表でやることも思いつかないのだが)
考えておりましたが、アックンさんが報告されました

>編集表コマンドでメインとサブの編集対象表を切り替えることで解決しました。

なのです。まだまだ勉強不足というか、この様な方法があるんだと学ぶことができました。

以下に解決内容を記載致します。

■メインフォームです
名札 メイン
var 整数{ &table[2] }

手続き定義開始 フォーム::フォーム開始(長整数 &表番号)
&table[1] = #table
手続き定義終了

手続き定義開始 フォーム::キーダウン(長整数 &仮想キーコード,・・・)
if( &仮想キーコード=13 )
method @フォーム.更新モード設定(0)
call バーコード入力() /* ← なるほど!余計な処理でしたね */
end
手続き定義終了

手続き定義開始 バーコード入力()
変数 整数{ &検索結果 }
変数 文字列{ &MES }
編集表 &table[2] /* サブフォームの編集対象表に切り替える。 */
絞り込み解除 *
検索 [項目Z]{&バーコード}, 終了状態=&検索結果 , 文字比較方法=自動
if( &検索結果=1 )
行訂正 [項目T]=#時刻
絞り込み [項目C]="済"
編集表 &table[1] /* メインフォームの編集対象表に切り替える。 */
検索 [項目Z]=&バーコード
&バー表示用 = &バーコード ,\
&バーコード = ""
method @tバーコード.フォーカス設定()
method @フォーム.更新モード設定( 2 )
else if( &検索結果=-1 )
&MES = "該当はありません?"
確認 &MES
end
手続き定義終了

■サブフォームです
手続き定義開始 フォーム::フォーム開始(長整数 &表番号)
&table[2] = #table
並べ替え {[項目T] 昇順}
絞り込み [項目C]{*"済"*},文字比較方法=辞書順
手続き定義終了

またわからないことが有りましたら、相談させてください。
本当にありがとうございます。

戻る