• ベストアンサー

2つ目のレコードの値を取得するには?

こんにちは。いつもお世話になりっぱなしです。 今回は、あるテーブルの2つ目以降のレコードの値を取得 できないかなぁと思って質問しました。 テーブルAにBというフィールドがあります。 その中にはア、イ、ウ・・・・とレコードがあるとした場合、 1つ目のレコードは Dfirst("B","A")で取得できますが、 2つ目のレコードはどうやって取得すればいいのでしょうか? 関数で出来れば最高なんですが、無理なようでしたら 別の方法でも構いません。 皆さんのお力をお貸しください。 よろしくお願いします。

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

  • ベストアンサー
  • sacoman
  • ベストアンサー率56% (33/58)
回答No.2

Dfirst関数をおつかいのようですので、環境は Accessであると過程してお話します。 テーブルAにはB以外のフィールドはありますか? もし検索キーになるような重複なしのフィールドがあれば、 そのフィールドをキーにDLOOKUP関数で値を取得できます。 たとえば、レコードの先頭から1,2,3,4・・・というように 通しNo.を入れたフィールド(C)があれば、2レコード目の Bフィールドの値を取得するには以下のような感じになります。 DLookup("B","A","C=" & 2) 一般化すると DLookup("値取得フィールド","テーブル/クエリ名","検索フィールド=条件") といった感じでしょうか? ヘルプでDLookup関数を調べてみてください。

noname#12495
質問者

お礼

お返事が遅くなりましてごめんなさい。 DLOOKUP関数を使って実現できました。 ありがとうございました。

その他の回答 (1)

  • souta_n
  • ベストアンサー率33% (79/234)
回答No.1

Accessですか? DAOを使って見ては、以降は2件目のレコードのデータを変数に代入するコードです。 sub honyara() Dim Db as databese Dim Rs As Recordset Dim Hensu1 as String Dim Hensu2 as String Set DB = CurrentDb Set RS1 = DB.OpenRecordset("テーブル", dbOpenTable) Rs.move 2 Hensu1=Rs!A Hensu1=Rs!B RS.Close DB.Close End Sub Access97ならこのDAOは標準で参照設定されていますが、2000以降は ツールメニューの参照設定でMicrosoft DAO 3.6 Object Libraryを参照させとかないとだめですよ

関連するQ&A