Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1404 / 2272 ツリー ←次へ | 前へ→

【7319】クリックした時の行番号の取得方法 VBAの迷い子 06/2/20(月) 9:31 質問[未読]
【7322】Re:クリックした時の行番号の取得方法 小僧 06/2/20(月) 12:46 回答[未読]
【7324】Re:クリックした時の行番号の取得方法 VBAの迷い子 06/2/20(月) 14:15 お礼[未読]
【7326】Re:クリックした時の行番号の取得方法 小僧 06/2/20(月) 15:54 発言[未読]
【7329】Re:クリックした時の行番号の取得方法 VBAの迷い子 06/2/20(月) 17:17 お礼[未読]

【7319】クリックした時の行番号の取得方法
質問  VBAの迷い子  - 06/2/20(月) 9:31 -

引用なし
パスワード
   表形式のフォームを作成し、明細行のある行をダブルクリックした際にクリックした行の番号を取得して、その行に対していろいろと処理をやってみたいのですが、クリックされた行がどこなのかを取得する方方がわかりません。ご教授の程宜しくお願い致します。

【7322】Re:クリックした時の行番号の取得方法
回答  小僧  - 06/2/20(月) 12:46 -

引用なし
パスワード
   ▼VBAの迷い子 さん:
こんにちは。

>明細行のある行をダブルクリックした際にクリックした行の番号を取得

Access には残念ながら行という概念はありません。

ソート順が指定してある場合でしたら

Private Sub Form_DblClick(Cancel As Integer)
  MsgBox Me.Recordset.AbsolutePosition
End Sub

のようにして、「何番目のレコードか」というものを取得できます。


フォームの基になっているテーブル(またはクエリ)に
Unique なフィールドは存在していますでしょうか。

あるのであれば、そのフィールドをキーにして操作をするのが一般的ですね。

※ 適宜改行をしましょうね。

【7324】Re:クリックした時の行番号の取得方法
お礼  VBAの迷い子  - 06/2/20(月) 14:15 -

引用なし
パスワード
   ありがとうございます。
フォームの基になっているテーブル(またはクエリ)であれば、
ダブルクリックされたレコードは、Me.Recordsetを参照することで
どのレコードかがわかるという事ですね。
いいヒントになりました。ありがとうございます。
開発に専念できそうです。

【7326】Re:クリックした時の行番号の取得方法
発言  小僧  - 06/2/20(月) 15:54 -

引用なし
パスワード
   ▼VBAの迷い子 さん:
こんにちは。

>フォームの基になっているテーブル(またはクエリ)であれば、

誤解の無い様に補足させて頂くと

>>ソート順が指定してある場合でしたら

という条件が必要です。


MS技術情報より
http://support.microsoft.com/default.aspx?scid=kb;ja;834927


ソート順を指定しないレコードセットは並び順が保証されませんので、
1度目はうまくいったとしても、2度目もそうなってくれるとは限りませんね。

【7329】Re:クリックした時の行番号の取得方法
お礼  VBAの迷い子  - 06/2/20(月) 17:17 -

引用なし
パスワード
   ▼小僧 さん:
>ソート順を指定しないレコードセットは並び順が保証されませんので、
>1度目はうまくいったとしても、2度目もそうなってくれるとは限りませんね。
了解しました!!

1404 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078229
(SS)C-BOARD v3.8 is Free