ボタンに設定したイベントが実行されません…
フォーム上に設置したボタンに下記イベントを設定しましたが、
クリックしてもイベント実行されません。
イベントタイプ:U=ユーザ
イベント:データ選択
実行元:C=コンテナタスク
やりたかったこととしては、
顧客コードから(F5)ズームでデータ選択のユーザーイベントを実行するようにしました。
同様のイベントをボタンクリックでも実現したかったです。
Magic初心者ですが、ご教示いただけますと幸いです。
-
こんにちは。
あまりデータ選択イベントを使ったことが無いのですが、確かデータ選択イベントは、
タスクの設定が選択テーブルになってないと機能しなかった記憶があります。
タスク特性で汎用タブの選択テーブルがYESになっているか、まず確認してみてください。
-
失礼しました。
ひょっとしたら私が勘違いしているかもしれませんので、改めて確認させてください。
顧客コードからデータ選択イベントの目的は
1.コード照会のプログラムを呼び出すような処理
2.そのデータを選択してコードを返すような自身が照会プログラム場合のデータ選択処理
のどちらでしょうか?
-
こんにちは
xpa9以降なら、エディット項目内にズームボタンを配置できますので
それを イベントで引っ掛けて、コード選択用の子画面を開くことが出来ますよ。

HAYATO@アインシュタイン設計社
-
y-yoshiさん
伝わりづらい文章で、すみません。
1.コード照会のプログラムを呼び出す処理 です。
-
遠藤勇人さん
試してみましたが、ボタンの表示が「…」となってしまいました…
エンドユーザ様に分かりやすいよう、「(F5)データ選択」のようなボタン表示にしたいです。
-
それでは以下の方法でいかがでしょうか?
1.
イベントテーブルに以下のイベントを追加
名前 「任意の名前」 トリガタイプ: 内部 トリガ: ズーム(Z) 強制終了: 編集 ←これ重要です
2.
フォームにボタンを配置しボタンのプロパティを以下に設定
イベントタイプ 内部 イベント ズーム(Z) 実行元 コンテナタスク(状況によってはサブフォーム)
3.
ロジックにイベントロジック追加
イベントタイプ ユーザー イベント 「イベントテーブルで設定した名前」
その中に呼び出したいPGをコールするプログラムを記述してください。
ちなみに、PGを呼び出すロジックの書き方はいくつかありますが
①イベントロジックの呼び出しの条件そのものに、コントロール名を割り振る場合。
別の項目でもズームイベントを呼び出したい場合は同様にイベントロジックを追加して
コントロールを設定する。
②ズームイベント内で、パークしている項目ごとに呼び出しプログラムを変える場合。
呼び出しプログラムの条件にLastpark(0)で、イベント発行時にカーソルがあった項目を取得し、
それによって条件分けする。
どちらが見やすいかは一長一短なので(私はロジックが並ぶのが好きではないので②のやり方をしています)
お好みで使い分けてください。
-
画像貼るの忘れました

-
y-yoshiさん
ご回答いただきました手順で、実現できました!
度々、助けていただいてありがとうございます。
サインインしてコメントを残してください。
コメント
8件のコメント