|
早速の回答ありがとうございます。
>>カーソルを次レコードにしようとNextと記載してもエラーが返ってきます。
>書かれてないですが。どこにどのように。
>といっても、recordsetオブジェクトにはnextってメソッドはないですが。
申し訳ありません。いろいろ思考錯誤したのですが結局実現できなかったため、どのように記載していたか覚えがなく曖昧な記載となってしまいました。
調べた覚えのあるサイトを見直していたところ、EOFになるまでのループでMoveNextを使用した際にエラーとなっていたと思います。
>一度recordsetを最後まで送り、recordcountプロパティを取得してみたら
>いくつレコードが取得できているかわかりますよ。
>
>※データ型が判っているならそのデータ型で変数を宣言しましょう。
>※規定のプロパティも書きましょう。
なんとなく、わかった気がします。
つまり、Variant型で宣言していたためにMoveNextでエラーがでたということでしょうか。
動作確認の行える環境がネット環境のない職場しかないため、下記内容のVBAを後ほど確認してみようと思います。
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim i As Integer
'ODBC接続
Set rs = New ADODB.Recordset
Set cn=CreateObject("ADODB.Connection")
cn.Open "dsn=MySQL;uid=root;pwd=***"
cn.CursorLocation = 3
'レコード取得
rs=cn.Execute("SELECT * FROM test")
'レコード分ループ
Do Until rs.EOF
Cells(i.1)=rs("num1")
rs.MoveNext
i=i+1
Loop
'取得レコード数確認
Msgbox rs.RecordCount
'接続を閉じる
cn.Close
|
|