Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


17260 / 76732 ←次へ | 前へ→

【64929】Re:MsSQL ODBC接続を利用した複数レコードの取得
発言  初心者  - 10/3/26(金) 23:59 -

引用なし
パスワード
   早速の回答ありがとうございます。

>>カーソルを次レコードにしようと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
0 hits

【64925】MsSQL ODBC接続を利用した複数レコードの取得 初心者 10/3/26(金) 23:08 質問
【64927】Re:MsSQL ODBC接続を利用した複数レコード... neptune 10/3/26(金) 23:22 発言
【64929】Re:MsSQL ODBC接続を利用した複数レコード... 初心者 10/3/26(金) 23:59 発言
【64937】Re:MsSQL ODBC接続を利用した複数レコード... neptune 10/3/27(土) 22:29 発言
【64956】Re:MsSQL ODBC接続を利用した複数レコード... 初心者 10/3/29(月) 21:53 お礼
【64964】Re:MsSQL ODBC接続を利用した複数レコード... neptune 10/3/30(火) 16:46 発言
【64968】Re:MsSQL ODBC接続を利用した複数レコード... 初心者 10/3/30(火) 22:52 発言

17260 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free