gooドクター有料プランが1ヶ月間無料!

こんにちは。

Access初心者です。

サブフォームでテーブルの項目を表示させていますが、
選択された行を取得する方法はありますか?
サボフォームの下の方に現在選択されているレコード数が表示されてますが、その値でかまいません。

調べているのですが、なかなか検討がつきません。
宜しくお願い致します。

gooドクター

A 回答 (4件)

フォーム名がフォーム1、サブフォームコントロールの名前がサブフォーム1だとすると、



Forms!フォーム1!サブフォーム1.Form.CurrentRecord

で取得できます。
(「Forms」と「Form」がありますのでご注意下さい)


また、フォーム1にコードを記述する場合であれば

Me!サブフォーム1.Form.CurrentRecord

サブフォーム1へのコード記述であれば

Me.CurrentRecord

という構文によっても、それぞれ取得が可能です。
    • good
    • 2
この回答へのお礼

お礼が遅くなりました。
同じようにやらせて頂き、無事できました!
どうもありがとうございます。

お礼日時:2006/11/28 10:06

No3 さんの回答と同じですが・・・。



フォーム[売上伝票]に[売上伝票 サブフォーム]が配置されているとします。
次は、メインからサブフォームのカレントレコード等を取得するサンプルです。

Private Sub コマンド142_Click()
  MsgBox FormRecord(Me.売上伝票_サブフォーム.Form)  ' カレントレコードを表示
  MsgBox FormRecord(Me.売上伝票_サブフォーム.Form, 1) ' レコードカウントを表示
End Sub

Public Function FormRecord(ByVal frm As Form, _
             Optional R As Integer = 0) As Integer
On Error Resume Next
  If R = 0 Then
    FormRecord = frm.CurrentRecord
  Else
    FormRecord = frm.Recordset.RecordCount
  End If
End Function

もちろん、

MsgBox FormRecord(Forms("売上伝票").売上伝票_サブフォーム.Form)

という書き方でもOKです。
    • good
    • 1
この回答へのお礼

お礼が遅くなりましてすみません。
大変詳しく丁寧にご回答頂きありがとうございます。
勉強になりました!

お礼日時:2006/11/28 10:08

データベースではレコードナンバーにはあまり意味がありません


レコードを特定するには主キーを使いましょう

取得というのがどこへ取得したいのか書かれていませんが
普通に主キーをフィールド名で参照すれば、
カレント(選択されている)レコードの主キーが得られます
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ありません。
説明不足で意味が分かりずらかったと思います。
ご回答ありがとうございました。

お礼日時:2006/11/28 10:05

Me.[テキストボックス名].Value


とかで今何が選択されているかわかるので
テキストボックスのクリックイベントに
書き込んではどうでしょうか?
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ありません。
参考にさせて頂き無事出来ました。
ご回答ありがとうございました。

お礼日時:2006/11/28 10:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング