プロが教える店舗&オフィスのセキュリティ対策術

ACCESS初心者です。
ACCESSのテーブルからクエリで、抽出したデータを個々に作成したテキストボックスに
貼り付けるには、どうしたらよいのでしょうか。
現在の考えだと、みな同じデータ(先頭のデータ)のみしか表示されない状態です。

実施した事

1.クエリの作成
  ACCESSで、クエリ機能を使用してデータを抽出しました。

  抽出条件は、
  建屋番号が#10で、フロアが1階のみです。

  クエリ名:Q_10_1F

  ID  建屋  フロア 表示番号   名称      IPアドレス
  1  #10   1   0001  #10-1F-PW1   192.168.86.XXX
  2  #10   1   0002  #10-1F-PW2   192.168.86.XX
  3  #10   1   0003  #10-1F-PW3   192.168.86.XX

2.フォームの作成
  抽出したデータをもとに、フォーム上にイメージ図(フロアマップ)を置き、
  その上にテキストボックスを3つ設けて、そこに、名称をテキストボックス
  に表示したい。

   テキスト1のボックス(非連結部分)に -->#10-1F-PW1を表示
   テキスト3のボックス(非連結部分)に -->#10-1F-PW2を表示
   テキスト5のボックス(非連結部分)に -->#10-1F-PW3を表示

3.フォームの”読込み時”に、以下のイベントプロシジャーを作成

Option Compare Database
Private Sub Form_Load()

 '--- 名称エリア--------------
  Dim m_name1 As Variant
  Dim m_name2 As Variant
  Dim m_name3 As Variant


'---クエリOPEN
DoCmd.OpenQuery "Q_10_1F", acViewNormal, acEdit

'--- レコード最初
DoCmd.GoToRecord acQuery, "Q_10_1F", acFirst
'--- 名前のフィールドのデータを取得
m_name1 = Me.名称

'--- 次レコード
DoCmd.GoToRecord acQuery, "Q_10_1F", acNext
m_name2 = Me.名称

'--- 次レコード
DoCmd.GoToRecord acQuery, "Q_10_1F", acNext
m_name3 = Me.名称
End Sub

結果的に、 m_name1 、 m_name2、 m_name3はすべて#10-1F-PW1のデータが
設定されておりました。

考え方が根本的に間違っておりましたらすみません、
ご教示の程、宜しくお願い致します。

「ACCESSのクエリで抽出したデータをテ」の質問画像

A 回答 (1件)

'DoCmd.OpenQuery "Q_10_1F", acViewNormal, acEdit



これでオープンしたクエリと
フォームのレコードソースのクエリは関係ありません。

連結フォームにする必要がないなら
DAO でクレイを開き、レコードを読みながらテキストボックスに値をセットする。

連結フォームのままなら
クエリはオープンせずに
Docmd.GoToRecord ,,acNext でレコードを移動
    • good
    • 0

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

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


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