データグリッドコントロールにACCESS2000のデータを表示するには?


なかじぃ  2004-12-12 21:01:28  No: 87320  IP: [192.*.*.*]

データグリッドコントロールにレコードセットを連結させる方法として本などにのていましたが、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

編集 削除
Say  2004-12-12 22:44:36  No: 87321  IP: [192.*.*.*]

CursorLocationの設定は?

明示的に設定しないとServer Cursorとみなされます。

編集 削除
なかじぃ  2004-12-13 03:02:40  No: 87322  IP: [192.*.*.*]

ありがとうございます!!
CursorLocationを設定した、出来るようになりました。
でも、なぜですか?
ヘルプを読んでもちんぷんかんぷんで、なにを言っているのかさっぱりわかりませんでした。
よろしければ、簡単に教えていただければと思います。
お手数おかけしてもうしわけありません。

編集 削除
たくみ  2004-12-13 04:56:48  No: 87323  IP: [192.*.*.*]

(本番での実装はやらずにあくまでテスト用で、ですが)
Microsoft ADO Data Control6.0 (OLEDB)を
そのグリッド貼っているフォームに貼り付けてみて
グリッドのデータソースをそのADO Data Controlにしてみたら
難しいこと抜きに視覚的にわかるんじゃないかしら?

ADO Data Controlのプロパティ画面上で
利用する定数の種類もコンボにリストされてるし、で
CursorLocation:
サーバー側カーソルまたはクライアント側カーソルを
使用するかどうかを指定します。
と非常にわかりやすい日本語で書いてあるでしょ?
そのほかいろいろと、あーこういうプロパティとか定数とか
を普通使うんだあ、って見るだけで幸せになれそう・・・

あ、それともカーソルっていうのがそもそもなんなのでしょう、
とかいうご質問??

編集 削除
もげ  2004-12-13 08:52:12  No: 87324  IP: [192.*.*.*]

ごく簡単にいうと「仕様です」と一言で終わりますが(^^;、
どのヘルプを見て何を「ちんぷんかんぷん」と感じられましたか?

http://support.microsoft.com/default.aspx?scid=kb;ja;224192

編集 削除
なかじぃ  2004-12-21 18:57:50  No: 87325  IP: [192.*.*.*]

返事おくれてごめんなさい!!
お忙しい中みなさん、いろいろ意見ありがとうございます。

たくみさん  −  まさにその通りです。カーソルの意味がわかりませんでした。
                ニュアンスは分かるのですが...(=.=;)

もげさん  −  msdnのCursorLocationのヘルプです。

まだまだ勉強不足ですみません。

編集 削除