ADOで現在のレコードの次のレコードの値も取得するには?
アクセスに対してADOでデータを取得しているのですが
例えばテーブルに
フィールド1
あああ
いいい
ううう
と入ってる時に、1レコード目のあああの値を取得しているときに、同時に次のレコードのいいいの値も取得することは可能ですか?
Sub Sample()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Set cn = CurrentProject.Connection
rs.Open "SELECT * FROM テーブル1", cn, adOpenStatic, adLockPessimistic
For i = 1 To rs.RecordCount
MsgBox rs("フィールド1") '現在のレコード
MsgBox rs("フィールド1") + 1 '次のレコード
rs.MoveNext
Next
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing
End Sub
これだとダメなようです。
あああ
いいい
が表示されるようにしたいのですが、どうすればいいか教えてください。
No.1
- 回答日時:
あああ
しかない場合の例外はどうする?
いまあるレコードが
あああ
いいい
ううう
えええ
なら、
あああ
いいい
いいい
ううう
ううう
えええ
で良いですか?
if rs.RecordCount > 2 then
For i = 1 To rs.RecordCount-1
MsgBox rs("フィールド1") '現在のレコード
rs.MoveNext
MsgBox rs("フィールド1") '次のレコード
Next
else
MsgBox rs("フィールド1") '現在のレコード
rs.MoveNext
MsgBox rs("フィールド1") '次のレコード
endif
でどうでしょう?
No.2ベストアンサー
- 回答日時:
rs.MoveNextなどでカレントレコードを変更しないかぎりは次のレコードの値を取得することはできません。
よくある手法で先読み法というのがあります。
1つ前の値を変数に退避しておく方法です。
Dim Field1 As String
Field1 = rs("フィールド1")
rs.MoveNext
For i = 2 To rs.RecordCount
MsgBox Field1
MsgBox rs("フィールド1")
Field1 = rs("フィールド1")
rs.MoveNext
Next
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
2つ目のレコードの値を取得するには?
Access(アクセス)
-
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
-
4
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
5
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
6
レコードセット(ADO.Recordset)で処理レコードは何番目?
Visual Basic(VBA)
-
7
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
8
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
9
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
10
カレントレコードが無い事を判定させる方法
Visual Basic(VBA)
-
11
アクセスVBAのMe!と[ ]
Access(アクセス)
-
12
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
13
AccessVBAで作成したExcelファイルを削除する方法は?
Visual Basic(VBA)
-
14
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
15
新規レコード行を非表示にしたい
Access(アクセス)
-
16
レコードが存在しなかった場合
Microsoft ASP
-
17
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
18
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
19
ACCESSでコントロールソースの変更
Access(アクセス)
-
20
ADOのCursorLocationプロパティ
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
180g重量版レコードとは? 180...
-
ファイルメーカー印刷時の改ページ
-
ファイルメーカーで一括入力す...
-
ファイルメーカでの条件付き画...
-
Accessのレポートの集計に条件...
-
Accessで写真(JPEG)管理がした...
-
FileMaker起動時に前回終了時の...
-
ACCESSのフォームで次のレコー...
-
FileMakerで特定のレコードのみ...
-
ADOで現在のレコードの次のレコ...
-
ラベルをクリックしてレコード...
-
LIKEとINを同時に使いたい
-
差込印刷で顧客別に複数行のデ...
-
accessのマクロで「一時変数設定」
-
アクセスのレポートのヘッダー...
-
Accessのクエリで1フィールドの...
-
「#エラー」の回避
-
accessのフォームに設置したボ...
-
Access2007でSQLの複数列副問い...
-
Access チェックボックスを使...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷で顧客別に複数行のデ...
-
ADOで現在のレコードの次のレコ...
-
ACCESSのフォームで次のレコー...
-
Accessのレポートの集計に条件...
-
日付の加算・減算ってできますか?
-
アクセスデータベースのUnicode...
-
ホスト汎用機でのNDBアクセス方法
-
ACCESSのレコード操作で1つ前...
-
ファイルメーカーで最大シリア...
-
accessのマクロで「一時変数設定」
-
アクセスでのエクセルでいう行...
-
180g重量版レコードとは? 180...
-
ACCESSでのランダムのレ...
-
ファイルメーカーで検索条件の...
-
ファイルメーカーでレコード複...
-
PSQLで-- More --を表示しない方法
-
LIKEとINを同時に使いたい
-
access レポートで罫線...
-
Docmd.Findrecordで空白の検索方法
-
ファイルメーカーで該当件数を...
おすすめ情報