データグリッドコントロールにレコードセットを連結させる方法として本などにのていましたが、Jet3.51でのmdbの連結方法でした。
しかし、私はACCESS2000のmdbを連結させたかったので、Jet4.0にして
連結させてみたんですが、エラーも出ない変わりに、データも表示されません。
どうしたらよいでしょうか?
参考までに、下記ソースにて行いました。
Private Sub Command1_Click()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strSQL As String
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\DATADB.mdb"
cn.Open
rs.CursorType = adOpenStatic
rs.LockType = adLockPessimistic
strSQL = "SELECT * FROM テーブル1"
rs.Open strSQL, cn
Set frm_DBList.DataGrid1.DataSource = rs
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
End Sub
CursorLocationの設定は?
明示的に設定しないとServer Cursorとみなされます。
ありがとうございます!!
CursorLocationを設定した、出来るようになりました。
でも、なぜですか?
ヘルプを読んでもちんぷんかんぷんで、なにを言っているのかさっぱりわかりませんでした。
よろしければ、簡単に教えていただければと思います。
お手数おかけしてもうしわけありません。
(本番での実装はやらずにあくまでテスト用で、ですが)
Microsoft ADO Data Control6.0 (OLEDB)を
そのグリッド貼っているフォームに貼り付けてみて
グリッドのデータソースをそのADO Data Controlにしてみたら
難しいこと抜きに視覚的にわかるんじゃないかしら?
ADO Data Controlのプロパティ画面上で
利用する定数の種類もコンボにリストされてるし、で
CursorLocation:
サーバー側カーソルまたはクライアント側カーソルを
使用するかどうかを指定します。
と非常にわかりやすい日本語で書いてあるでしょ?
そのほかいろいろと、あーこういうプロパティとか定数とか
を普通使うんだあ、って見るだけで幸せになれそう・・・
あ、それともカーソルっていうのがそもそもなんなのでしょう、
とかいうご質問??
ごく簡単にいうと「仕様です」と一言で終わりますが(^^;、
どのヘルプを見て何を「ちんぷんかんぷん」と感じられましたか?
http://support.microsoft.com/default.aspx?scid=kb;ja;224192
返事おくれてごめんなさい!!
お忙しい中みなさん、いろいろ意見ありがとうございます。
たくみさん − まさにその通りです。カーソルの意味がわかりませんでした。
ニュアンスは分かるのですが...(=.=;)
もげさん − msdnのCursorLocationのヘルプです。
まだまだ勉強不足ですみません。