dポイントプレゼントキャンペーン実施中!

ACCESSのVBAで以下のコードを実行するとエラーがでて困っています。
エラーは「行セットは逆方向フェッチをサポートしていません」とでます。
どこに問題があるのかをヘルプで調べても全く分かりませんでしたので、
問題点、アドバイスがあれば教えてください。
環境はACCESS2000、WIN98です。
宜しくお願いしますm(_ _)m

Dim recR As New ADODB.Recordset
Dim cmdR As New ADODB.Command

cmdR.ActiveConnection = CurrentProject.Connection
cmdR.CommandText = "~"
Set recR = cmdR.Execute

Do Until recR.EOF
 If ~ Then
  recR.MoveLast ←ここでエラーがでます
 End If
 recResult.MoveNext
Loop

A 回答 (1件)

Commandオブジェクトじゃなく、RecordsetオブジェクトのOpenメソッドを使ってレコードセットを取得したらどうでしょうか。


その際にレコードセットのカーソルタイプを適切なものにすれば良いと思います。Staticとか。

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strSQL As String

Set cn = CurrentProject.Connection

strSQL = "ほげほげ"

Set rs = New ADODB.Recordset
rs.Open strSQL, cn, adOpenStatic

' ループ処理

rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
    • good
    • 0
この回答へのお礼

temtecomaiさん 回答ありがとうございますm(_ _)m

RecordsetオブジェクトのOpenメソッドを使うことによって
エラーが出なくなりました。
ありがとうございましたm(_ _)m

お礼日時:2002/10/30 17:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています