VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2004/10/27(Wed) 11:55
投稿者はこ
Eメール
URL
タイトルDataGridについて

これまで以下のような方法で、Access97で作られたデータベースを
DataGridで表示させていました。

Dim DB As ADODB.Connection
Dim rs1 As ADODB.Recordset

Set DB = New ADODB.Connection
DB.ConnectionString = "Provider=Microsoft.Jet.oledb.3.51;data source = DB01.mdb"
DB.Open

Set rs1 = New ADODB.Recordset
rs1.Open "TBL01", DB, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = rs1

このたびデータベースをAccess97→Access2000にバージョンアップ
したので、ソースを以下のように変更しました。

(変更前)
DB.ConnectionString = "Provider=Microsoft.Jet.oledb.3.51;data source = DB01.mdb"

(変更後)
DB.ConnectionString = "Provider=Microsoft.Jet.oledb.4.0;data source = DB01.mdb"

すると、これまでちゃんと表示されていたデータが1件も
表示されなくなってしまいました。
(テーブルの構造、データ件数などは変わっていません)

エラーが発生しているというわけではなく、ウォッチリストでrs1と
DataGrid1のプロパティを見てみると、rs1のFieldsオブジェクトには
ちゃんと各フィールドのデータが入っているのですが、DataGrid1の
Columnsオブジェクトにはデータが入っていませんでした。

VBの参照設定でこれまでは「Microsoft AcriveX Data Objects 2.0 Library」
を参照していましたが、「Microsoft ActiceX Data Objects 2.7 Library」
に変更しても同じ現象になってしまいます。

MDBファイルをAccess97形式に戻しても、同じ現象になってしまいます。

もしかしてJetのバージョン4.0が対応していない、なんてことが
あるのでしょうか?

お分かりになる方がいらっしゃいましたら、ご教授ください。
宜しくお願いします。

<開発環境>
WindowsXP SP1
VisualBasic6.0 SP5


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -