• ベストアンサー

桐V9での値の取得

桐V9-2007で質問です 左クリックイベントを使用してクリックした行のデータを取得したいと考えています このイベントだと&明細番号があるのでそれを利用すれば良いように思うのですがうまくいきません 初心者ゆえ悪戦苦闘です よろしくお願いいたします

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんにちは。 一覧表フォームで左クリックでのその行のある項目値をある変数に取りたいということでいいでしょうか。 フォーム編集と表編集切り替えて確認してみてください。左クリックでレコード位置はその行に移動しています。ということは、[氏名]を &STRに取りたいのなら、[氏名]をソースにしているオブジェクトが t氏名だとして、t氏名のオブジェクト属性のイベントタブ マウス左クリックにチェックいれて、KEVに 手続き定義開始 t氏名::マウス左クリック(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &処理中止)  代入 &STR=[氏名] 手続き定義終了 これだけでいいのです。(マウス・クリックは全角表記にしています。) ただ、これでは t氏名以外のオブジェクトをクリックしても反応してくれません。それには、一覧表オブジェクトのその行の全オブジェクトに同様に設定すればよいのですが、「ファミリ」を使えば、もうちょっとスマートに処理できます。 書式→ファミリパレット 新規作成を2回クリックすれば「ファミリ_1」ができます。 書式→オブジェクトリスト→ファミリ→ファミリ_1 右クリックして両方を選びます。イベントのタブでマウス左クリックにチェック。点3つ並んだビルダボタンをクリック。KEV名はフォーム名と同じにします。KEVの記述は次。 手続き定義開始 ファミリ_1::マウス左クリック(長整数 &マウス位置[2],長整数 &明細番号,長整数 &フラグ,参照 長整数 &処理中止)  代入 &STR=[氏名] 手続き定義終了 あとは各オブジェクトへの設定。1レコードあたり1行とします。フォーム定義で行の一番左のオブジェクトクリック、Shift押しながら一番右のオブジェクトクリック。これでその行の全オブジェクト選択できているはずなので、書式→オブジェクトの属性→イベントのタブ。右下のファミリ名のところでファミリ_1選択。 これで、その行のどの項目を左クリックしても、&STRに[氏名]を代入するイベントが発生することになります。試してみてください。 (書式→定義画面の設定で「詳細プロパティを使用する」にチェックをお忘れなく。操作ナビも消去したほうがいいでしょう。)

sakaki_san
質問者

お礼

早速の投稿ありがとうございます ご教授いただきましたことを参考にまずは実験して見ます

関連するQ&A

  • 桐で下のデータを複写したい

     桐を再度使い始めたのですが、#直前値 だと直前行のセルの値を取得できますが、反対に直後行のデータはどうすれば取得できますか?    書き出ししてエクセルででもやればできることですが桐でやりたいのでどなたか教えてください。

  • VBのグリッドにてマウスクリックでセル位置を正確に取得したい

    Visual BASIC でアクティブコンポーネントのグリッド(表)を使用しています。 ●グリッドのセルをマウスでクリックした時に、そのセルの列と行の位置番号を 正確に取得したいのですが、1列ある見出し列(行)をクリックしても 1(本来は 0)が、最初のデータ列(行)をクリックしても 1が返り、同じため正しく処理できません。(データのセルは正しく番号が取得できます。) どうしたら、クリックしたセルが見出し列(行)かどうか判別できますか? ●また、マウスをドラッグして複数のセルの範囲を取得したいのですがマウスDown と マウスUp イベントで列(行)番号を取得してもどちらも、マウスDown 時の値が返り、範囲となっていません。どうしたら、範囲を認識できますか。 分かるかたがおられたら教えてください。 (片方でも結構です。) Visual BASIC は Version 5 です。

  • データベースソフト桐 日付選択(カレンダーを使用)

    桐 のヘルプによると  「日付選択で カレンダーを使用して、検索する日付を選択します」と あるのですが カレンダーは 全く出てきません。 桐の どのメニューから選べばできるか ご存じの方 教えてください。 要は カレンダーを利用して 日付データを 入力したいのです XP 桐 V9 よろしくお願いします。

  • カレントのオブジェクトの値を取得したいです!

    画面のヘッダ部でキーコードを入力すると、 マッチした値をボディに表示させる ・・・という動作をさせています。 ボディはグリッド形式にみせかけてあり、 配列にしたtextを使用しています。 そして、列の一つに行番号をもたせています。 というような状況で。 ボタンクリックでカーソルのあった行を削除・・という処理を行いたいのですが、 カレントの行番号を取得する方法がわかりません。 どなたかご存知の方、教えてください。 よろしくお願いします。

  • 桐の集計(集計行設定のこと)について教えて下さい

    こんにちは。 Winで桐8を使ってます。 集計(集計行)のことを教えて下さい。 データを、小計・中計・大計と行集計をかけました。 このときの中計の集計行に、小計の行数を入れることは可能でしょうか? 例)顧客番号、顧客種別、月、金額・・・・ のように同じ顧客が月別に、複数回入金します。 (入金されたデータは月別で複数行になります。) 小計は「顧客毎」に集計。 中計は「顧客種別毎」に集計。 このときに、中計の欄に、顧客種別毎の顧客数の実数(小計の行数)を入れたいのです。 今の私の知恵では、データ行の個数が出てしまい、同一の顧客番号が複数行あると複数でカウントしてしまうのです。 上手く説明できず恐縮ですが、ご教授くださると有り難いです。 よろしくお願いします。

  • VBの初心者。 セルの削除について教えてください

    まったくの初心者なもので、なかなか上手く動いてくれず困っています。 毎月前月のファイルをコピーして新たにデータを貼り付けして データ処理を行っているのですが、前月のデータを削除するマクロを作成したいと思っております。 1行目のデータは共通なので削除せず、2行目以降のA列~Y列のデータを削除したいのですが 月によって、削除する行の最後が違っております。 どのようにマクロを設定すればいいのかわからず、悪戦苦闘しております。 初心者の私にぜひ教えていただきたく投稿させていただきました。 宜しくお願いいたします。

  • 【C#】動的に作成した、TABへのイベント設定

    始めまして、質問をお願い致します。 ある明細行をクリックすると、TAB形式の一覧を表示します。 明細行に紐づくデータの単位にTAB表示させたいので、以下のコードをループさせ、動的にTABの生成をすることが出来ました。 this.tabControl1.Controls.Add(testTabPage[i]); TABがクリックされた際、個別にデータをDBより取得して表示したいのですが、TABごとのイベント設定方法がわかりません。 動的に作成したTABへ、クリックした際のイベント設定方法を、ご教示頂けませんでしょうか。 また、TABコントロールの参考になるサイト等も教えて頂ければ幸いです。 ----------- |明細クリック| ----------- ↓ ----------------- | tab1 | tab2 | tab3 | --------------------------- | データ   | |--------------------------| | データ   | |--------------------------| | データ   | |--------------------------| どうぞ、宜しくお願い致します。

  • DataGridViewから値取得

    DataGridViewにボタンと項目2つが配置されています。 DataGridView1 DataGridView1.Columns("btn").HeaderText = "ボタン" DataGridView1.Columns("item1").HeaderText = "アイテム1" DataGridView1.Columns("item2").HeaderText = "アイテム2" ボタンを押すと、押した行のレコードを取得したいです。 ボタンのところを押下すると、 イベントハンドラで何行目か分かるサンプルをネットで見つけました。 惜しいですが、やりたいのと少し違いました。 'CellContentClickイベントハンドラ Private Sub DataGridView1_CellContentClick(ByVal sender As Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick Dim dgv As DataGridView = CType(sender, DataGridView) Dim test_item1 As String Dim test_item2 As String ' "btn"列ならば、ボタンがクリックされた If dgv.Columns(e.ColumnIndex).Name = "btn" Then MessageBox.Show((e.RowIndex.ToString() + "行のボタンがクリックされました。")) End If ' ここに押された行のitem1の値をセット ' test_item1 = (A) ' ここに押された行のitem2の値をセット ' test_item2 = (B) End Sub (A)、(B)に何を記述すれば値を取得できますか?

  • エクセル vba inputbox 行番号の取得

    inputboxメソッド(type=8)で、クリックしたセルの行番号を取得する方法を教えてください。 同一日付が複数行にあります。そのうちの1つをクリックしたとき、そのセルの行番号を取得したいのですが。

  • ACCESSでテキストデータから伝票データにしたいのですが教えて下さい。

    ACCESS2003でテキストデータをテーブルにインポートしたのですがこのデータを3行毎に伝票番号を変更したデータの作り方がありましたら教えて下さい。よろしくお願いします。 例(テキストデータ5行の場合) 伝票番号1行番号1明細1 伝票番号1行番号2明細2 伝票番号1行番号3明細3 伝票番号2行番号1明細4 伝票番号2行番号2明細5