- ベストアンサー
2つ目のレコードの値を取得するには?
こんにちは。いつもお世話になりっぱなしです。 今回は、あるテーブルの2つ目以降のレコードの値を取得 できないかなぁと思って質問しました。 テーブルAにBというフィールドがあります。 その中にはア、イ、ウ・・・・とレコードがあるとした場合、 1つ目のレコードは Dfirst("B","A")で取得できますが、 2つ目のレコードはどうやって取得すればいいのでしょうか? 関数で出来れば最高なんですが、無理なようでしたら 別の方法でも構いません。 皆さんのお力をお貸しください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Dfirst関数をおつかいのようですので、環境は Accessであると過程してお話します。 テーブルAにはB以外のフィールドはありますか? もし検索キーになるような重複なしのフィールドがあれば、 そのフィールドをキーにDLOOKUP関数で値を取得できます。 たとえば、レコードの先頭から1,2,3,4・・・というように 通しNo.を入れたフィールド(C)があれば、2レコード目の Bフィールドの値を取得するには以下のような感じになります。 DLookup("B","A","C=" & 2) 一般化すると DLookup("値取得フィールド","テーブル/クエリ名","検索フィールド=条件") といった感じでしょうか? ヘルプでDLookup関数を調べてみてください。
その他の回答 (1)
- souta_n
- ベストアンサー率33% (79/234)
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を参照させとかないとだめですよ
お礼
お返事が遅くなりましてごめんなさい。 DLOOKUP関数を使って実現できました。 ありがとうございました。