アプリ版:「スタンプのみでお礼する」機能のリリースについて

OS:XP、VB6、ACCESS2000の環境でADOの勉強をしています。
ある参考書を見て、次のサンプルを実行しました。

【サンプル】
フォームにデータグリッドコントロールを貼り付ける。
フォームのLoadイベントプロシージャ内でデータベース(MDB)に接続し、レコードセットを取得して、データグリッドコントロールに取得したレコードセットを表示させる。
データベースはACCESS97で作成されたものです。

(ソース)
---------------------------------------------------------------
Option Explicit

Private cn As ADODB.Connection
Private rs As ADODB.Recordset


Private Sub Form_Load()

'データーベースに接続
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=G:\VB_TEST\Book.mdb"
cn.Open

'レコードセットを取得
Set rs = New ADODB.Recordset
rs.Open "本", cn, adOpenStatic

'データグリッドコントロールに取得したレコードセットを表示
Set DataGrid1.DataSource = rs

End Sub
---------------------------------------------------------------

上記のプログラムを実行するともちろんうまく表示されました。
が、接続プロバイダ名を

"Provider=Microsoft.Jet.OLEDB.3.51;"
 ↓↓↓↓↓
"Provider=Microsoft.Jet.OLEDB.4.0;"

にすると表示されません。

そこで、データベースをACCESS2000で作成し直し、実行してもダメです。

この処理はJet4.0では出来ないのでしょうか?

A 回答 (4件)

SP5あててみたらいいダス

この回答への補足

すでにSP5があたっているのですが、ダメなんですけれど?

補足日時:2002/11/01 09:13
    • good
    • 0

Form_Loadというのが少し気になります。



他の場所(コマンドボタン等)で試してみてはいかがでしょうか。

後はForm_Loadじゃないところで(やはりコマンドボタン等)グリッドの
リフレッシュをかけてみるとか。

全然違ったらすいません。

この回答への補足

試してみましたがダメでした。

補足日時:2002/11/01 09:16
    • good
    • 0

参照設定で


>Microsoft ActivX Data Objects 2.X Library
2.X ← このバージョンが古いとか?

この回答への補足

2.7です。
本来は問題なく表示されるのでしょうか?
もしかして、私のマシンの環境が悪い....?

補足日時:2002/11/01 19:32
    • good
    • 0

ちょっとだけ思い出したことを書きます。


Access2000が出た当初は、DataGridには直結できなかったと思います。

本当を言うと、現在はどうかわかりません。
Dataコントロール経由なら、SP5導入マシンならたしか可能だったと思います。

遠い記憶で話しております。

この回答への補足

いろいろとコメントありがとうございます。

なんとか Jet4.0で上手く表示されました! !(^^)!

rs.Open の前に

rs.CursorLocation = adUseClient

を記入すると表示されました。
しかし、この違いは何なんでしょうねえ? (ーー;)

補足日時:2002/11/13 10:58
    • good
    • 0

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