ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

質問者:sakaki_san 桐V9での値の取得
困り度:
  • すぐに回答を!
桐V9-2007で質問です
左クリックイベントを使用してクリックした行のデータを取得したいと考えています
このイベントだと&明細番号があるのでそれを利用すれば良いように思うのですがうまくいきません

初心者ゆえ悪戦苦闘です

よろしくお願いいたします
質問投稿日時:08/04/21 01:19
質問番号:3963950
この質問に対する回答は締め切られました。

回答

良回答20pt

回答者:ryuujiok2205 こんにちは。

一覧表フォームで左クリックでのその行のある項目値をある変数に取りたいということでいいでしょうか。

フォーム編集と表編集切り替えて確認してみてください。左クリックでレコード位置はその行に移動しています。ということは、[氏名]を &STRに取りたいのなら、[氏名]をソースにしているオブジェクトが t氏名だとして、t氏名のオブジェクト属性のイベントタブ マウス左クリックにチェックいれて、KEVに

手続き定義開始 t氏名::マウス左クリック(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &処理中止)
 代入 &STR=[氏名]
手続き定義終了

これだけでいいのです。(マウス・クリックは全角表記にしています。)

ただ、これでは t氏名以外のオブジェクトをクリックしても反応してくれません。それには、一覧表オブジェクトのその行の全オブジェクトに同様に設定すればよいのですが、「ファミリ」を使えば、もうちょっとスマートに処理できます。

書式→ファミリパレット 新規作成を2回クリックすれば「ファミリ_1」ができます。

書式→オブジェクトリスト→ファミリ→ファミリ_1 右クリックして両方を選びます。イベントのタブでマウス左クリックにチェック。点3つ並んだビルダボタンをクリック。KEV名はフォーム名と同じにします。KEVの記述は次。

手続き定義開始 ファミリ_1::マウス左クリック(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &処理中止)
 代入 &STR=[氏名]
手続き定義終了

あとは各オブジェクトへの設定。1レコードあたり1行とします。フォーム定義で行の一番左のオブジェクトクリック、Shift押しながら一番右のオブジェクトクリック。これでその行の全オブジェクト選択できているはずなので、書式→オブジェクトの属性→イベントのタブ。右下のファミリ名のところでファミリ_1選択。

これで、その行のどの項目を左クリックしても、&STRに[氏名]を代入するイベントが発生することになります。試してみてください。

(書式→定義画面の設定で「詳細プロパティを使用する」にチェックをお忘れなく。操作ナビも消去したほうがいいでしょう。)
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:08/04/21 10:29
回答番号:No.1
この回答へのお礼早速の投稿ありがとうございます
ご教授いただきましたことを参考にまずは実験して見ます