![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
Access97を使用しています。
データは テーブルAの項目B、項目Cが下記のようにあるとします。
フォーム上のText"B"に項目Bを入力します。
項目B項目C
11a
11b
22aa
22bb
22cc
33aaa
33ccc
この時
Set DB = CurrentDb()
strSQL = "SELECT * FROM A WHERE "
strSQL = strSQL + "B='" & Me.B & "';"
Set RS = DB.OpenRecordset(strSQL, dbOpenDynaset, dbReadOnly)
RS.MoveFirst
RS.MoveLast
m = RS.RecordCount
For i = 1 To m
COIL_N = RS.Fields("C")
Call RS.MoveNext
Next i
上記のようなモジュールですが、例えば
項目Bの"11"を選んだ時、項目Cの二番目のデータbが 取得できません。
"カレントレコードがありません"とでてきます。何故でしょうか?
No.2
- 回答日時:
こんにちは。
maruru01です。No.1の人の言う通り、1行実行しながら変数などに格納される値をモニタしてみることです。
"カレントレコードがありません。"
というエラーの場合は、レコードセットのEOFかBOFプロパティがTrueになっていることが原因ではないでしょうか。
それから、気になった点は何故
RS.MoveFirst
RS.MoveLast
としているのかという点です。
あと、レコードセットの読み込みはForループより、DoループでEOFプロパティに格納される値を条件にした方がいいと思います。
Do Until (RS.EOF)
COIL_N = RS.Fields("C")
RS.MoveNext
Loop
という感じです。
MoveFirstとMoveLastをなしにして、上記のコードにすればOKだと思います。
No.1
- 回答日時:
ブレイクポイントを設定して1行ずつ実行すれば、原因がわかりそうな
質問ですね。
とりあえず、mにしかるべき数字(この場合は2)がちゃんと入ってる
か確認してみては?
あと最後から2番目のCALL文て必要なんですか? なくてもいいような・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- その他(プログラミング・Web制作) Windowsのバッチファイルについてご教示ください 5 2023/07/25 20:23
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
Access カレントレコードがありません
その他(データベース)
-
レコードが存在しなかった場合
Microsoft ASP
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
-
4
Access レコード削除時に「カレントレコードがありません」エラーが表示されてしまう
Access(アクセス)
-
5
カレントレコードが無い事を判定させる方法
Visual Basic(VBA)
-
6
アクセス2007でのインポートエラー「カレントレコードがありません」に
Access(アクセス)
-
7
ADO VBA 実行時エラー3021
Visual Basic(VBA)
-
8
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
9
アクセスでレコードの内容が変更されたかどうかを調べるには
Access(アクセス)
-
10
Accessのサブフォームから値を参照する方法について
その他(データベース)
-
11
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
12
アクセスVBAのMe!と[ ]
Access(アクセス)
-
13
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
14
エラー(型が一致しません。)の対処方法
Visual Basic(VBA)
-
15
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
16
フィルタ後のフォームの件数の取得の仕方
Access(アクセス)
-
17
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
18
Access2000 サブフォームのRecordSet取得法
Access(アクセス)
-
19
ADOを使ったDBアクセス後のメモリ解放
その他(データベース)
-
20
Access サブフォームでの選択行の取得
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レポート印刷するときに...
-
クエリを作成しましたが、デー...
-
ACCESS2019 ナビゲーションウィ...
-
Vba Userformを前面に出すについて
-
accessについて(超初心者です)
-
accessの代わりになるもの
-
ms access 2013で、チェックボ...
-
VBA。リストボックスの値を別の...
-
Microsoft365にAccessってあり...
-
Accessレポートのチェックボッ...
-
capeofdragonと申します。 Acce...
-
Accessというソフトで、生年月...
-
access2021 強制終了してしまう
-
access2019の起動が遅い
-
列が255以上のCSVファイルをAcc...
-
Accessで作ったデータベースをw...
-
accessデータを指定したExcel、...
-
アクセス レポートを開いたとき...
-
教えてください! アクセスの書...
-
Accessのスプレッドシートエク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
キーが同じを複数行を1行にま...
-
"カレントレコードがありません...
-
改行コード
-
IDENTITY列の番号リセット
-
accessからexcelへのエクスポー...
-
GROUP BYを行った後に結合した...
-
Oracleでの文字列連結サイズの上限
-
Accessで別テーブルの値をフォ...
-
SELECTで1件のみ取得するには?
-
SQL文で右から1文字だけ削除す...
-
ADO VBA 実行時エラー3021
-
ファイル書込みで一行もしくは...
-
select insertで複数テーブルか...
-
Excelで、改行がある場合の条件...
-
select句副問い合わせ 値の個...
-
Excelでセルの書式設定を使用し...
-
実績累計の求め方と意味を教え...
-
レコードが存在しなかった場合
-
GROUP BYを使ったSELECT文の総...
-
使うべきでない文字。
おすすめ情報