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つ目のレコードの値を取得するには?
Access(アクセス)
-
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
-
4
Access サブフォームでの選択行の取得
その他(データベース)
-
5
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
6
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
7
レコードセット(ADO.Recordset)で処理レコードは何番目?
Visual Basic(VBA)
-
8
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
9
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
10
カレントレコードが無い事を判定させる方法
Visual Basic(VBA)
-
11
AccessVBAで作成したExcelファイルを削除する方法は?
Visual Basic(VBA)
-
12
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
13
新規レコード行を非表示にしたい
Access(アクセス)
-
14
ACCESSでコントロールソースの変更
Access(アクセス)
-
15
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
16
アクセスVBAのMe!と[ ]
Access(アクセス)
-
17
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
18
レコードが存在しなかった場合
Microsoft ASP
-
19
ADOのCursorLocationプロパティ
Visual Basic(VBA)
-
20
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
差込印刷で顧客別に複数行のデ...
-
ADOで現在のレコードの次のレコ...
-
ACCESSのフォームで次のレコー...
-
Accessのレポートの集計に条件...
-
180g重量版レコードとは? 180...
-
ACCESSでオフセットを求める方法
-
ファイルメーカーのポータル内...
-
ラベルをクリックしてレコード...
-
Filemakerで検索フォームを作り...
-
FileMaker:マウスのホイールボ...
-
accessのマクロで「一時変数設定」
-
ホスト汎用機でのNDBアクセス方法
-
ファイルメーカープロ8.5での画...
-
FM8で文字列の連結
-
ファイルメーカーで該当件数を...
-
「ファイルメーカー」で宛先の...
-
Docmd.Findrecordで空白の検索方法
-
ファイルメーカーでレコードご...
-
ファイルメーカーの自己連結に...
-
ファイルメーカーで新規レコー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
差込印刷で顧客別に複数行のデ...
-
ADOで現在のレコードの次のレコ...
-
ACCESSのフォームで次のレコー...
-
Accessのレポートの集計に条件...
-
日付の加算・減算ってできますか?
-
アクセスデータベースのUnicode...
-
ホスト汎用機でのNDBアクセス方法
-
ACCESSのレコード操作で1つ前...
-
ファイルメーカーで最大シリア...
-
accessのマクロで「一時変数設定」
-
アクセスでのエクセルでいう行...
-
180g重量版レコードとは? 180...
-
ACCESSでのランダムのレ...
-
ファイルメーカーで検索条件の...
-
ファイルメーカーでレコード複...
-
PSQLで-- More --を表示しない方法
-
LIKEとINを同時に使いたい
-
access レポートで罫線...
-
Docmd.Findrecordで空白の検索方法
-
ACCESSで空白行を追加
おすすめ情報