過去の桐井戸端BBS (桐ver.8) |
17623 | イベントでフォーム開始と同時にキー入力画面が出て絞り込みを行うようにしたい | DIDI | 2002/10/16-23:19 |
桐8.6を使用しており、下記のことを行いたいのですが、 過去ログをいろいろみさせて頂きましたが、わかりませんでしたので、投稿させて頂きます。 1.Aフォームのコマンドボタンを押すとBフォームが出てくる。 2.Bフォームの立ち上げ(開始)と同時に、キー入力画面が出てきて、絞り込みを行う。(部分一致等をさせたいため。) 3.選択行をダブルクリック等するとAフォームの項目に反映(入力)される。 2.の絞り込みのところは、下記のようかなと、考えましたが、1-2の連携もうまくわかりません。 手続き定義開始 ????::フォーカス取得(文字列 &文字列1) キー入力 ( 01,01 ),プロンプト = "B" &文字列1 絞り込み [2]_&文字列1, 部分一致検索 = 含む 手続き定義終了 また、3のことは桐のイベントで可能なのでしょうか? アドバイスよろしくお願い申し上げます。 | |||
17624 | Re:イベント フォーム開始でキー入力 絞り込み | natsu | 2002/10/17-17:16 |
記事番号17623へのコメント この様な処理方法は、過去ログにもいくつかありますが (フォーム間での変数引き渡しとでもいいましょうか) >1.Aフォームのコマンドボタンを押すとBフォームが出てくる。 >2.Bフォームの立ち上げ(開始)と同時に、キー入力画面が出てきて、絞り込み >を行う。(部分一致等をさせたいため。) >3.選択行をダブルクリック等するとAフォームの項目に反映(入力)される。 上記 1.2.3.の処理ですが、イベントで処理すると次の通りです Aフォームのコマンドボタンのイベント(左クリック) *********************************** キー入力 ( 01,01 ),プロンプト = "文字列を入力して下さい:",&比較式 フォーム呼出し "B" 行訂正 [得意先]=&STR *********************************** 「フォーム呼出し」でB.wfmを開き処理している間も、このボタンの イベントは継続しているところがポイントです Bフォームの行セレクタのイベント(左クリック) *********************************** &STR=[得意先コード] メソッド呼び出し @b閉じる.実行( ) *********************************** 一覧表フォームなら、あらかじめヘッダ部分にコマンドボタンを 配置しておいてください (ここではオブジェクト名を "b閉じる" にしておきました) これで、Bフォームで取得した値が変数に入り、 Aフォームのコマンドボタンのイベント 「行訂正」へ戻ります あとは、Bフォームのフォーム開始時イベントで 「キー入力」で 取得した&比較式を使って、Bフォームの編集対象表を操作してください 注意する点は、 1)フォーム間での値を受け渡しする変数は、共通もしくは組み込み変数を使用した方が安全 2)Bフォームを開いたけれど、とりあえず値の取得は中止してAフォームに戻る場合は、直接 "b閉じる" ボタンをクリックしますが そのときのイベントは キー入力 ( 01,01 ),プロンプト = "文字列を入力して下さい:",&比較式 フォーム呼出し "B",ボタン=&置換式 ケース開始 ケース (&置換式="b閉じる") ケース その他 行訂正 [得意先]=&STR ケース終了 となります | |||
17626 | ちょっと訂正 | natsu | 2002/10/17-17:50 |
記事番号17624へのコメント >キー入力 ( 01,01 ),プロンプト = "文字列を入力して下さい:",&比較式 >フォーム呼出し "B",ボタン=&置換式 >ケース開始 > ケース (&置換式="b閉じる") > ケース その他 > 行訂正 [得意先]=&STR >ケース終了 このケース文だとだめですね 行セレクタをクリックしても訂正されません "b閉じる"のボタンはオブジェクトの属性で非表示にしておき もう一つ、"b閉じる_表示"というボタンを作ってください こちらは普通にクリックできるようにしてください 両方のボタンとも 機能名は”ファイルー閉じる”にしておきます それで ケース (&置換式="b閉じる") のところを ケース(&置換式="b閉じる_表示") に変更します | |||
17629 | ありがとうございました | DIDI | 2002/10/17-20:26 |
記事番号17624へのコメント natsu様: コメントありがとうございます。 何かとても難しい感じがしました。(今まで、一括処理でほとんど、システムを作ってきたため、イベントは分かりづらいとと感じます。) これから、アドバイスを少しずつ試していこうと思います。 DIDI |