2022年7月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
無料ブログはココログ

« Hyper-V タイムアウトを調整 | トップページ | Outlook2007 + avast でアプリケーションエラー »

VB6 DataGirdでデータが表示されない

かなり前にリリースされたプログラムですが、プログラムを実行するパソコンを新しいものに入れ替えを行ったところ、VB6でAdoデータコントロールを使用してAccess2000のデータをDataGridに表示する部分で問題が発生した。
開発環境では問題ないのに、プログラム配布先の環境ではなぜかDataGridが空っぽになってしまう。
以下のように修正したところ問題なく表示された。
DataGridコントロールを使用している箇所が少なかったので助かった。

【修正前】
With Adodc1
        .ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb"
        .CursorType = adOpenStatic
        .CursorLocation = adUseClient
        .RecordSource = "select * from hoge"
        .Refresh
End With

【修正後】
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = db1.mdb"
cn.CursorLocation = adUseClient
With rs
    .ActiveConnection = cn
    .Source = "select * from hoge"
    .CursorType = adOpenStatic
    .LockType = adLockOptimistic
    .Properties("IRowsetIdentity") = True
    .Open
End With
Set DataGrid1.DataSource = rs
DataGrid1.Refresh


※この一文が重要と思われる。
.Properties("IRowsetIdentity") = True

参考URL
[VB]Jet.OLE DB 4.0 Provider で DataGrid に表示できない
http://support.microsoft.com/kb/224192/ja

« Hyper-V タイムアウトを調整 | トップページ | Outlook2007 + avast でアプリケーションエラー »

VB6」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: VB6 DataGirdでデータが表示されない:

« Hyper-V タイムアウトを調整 | トップページ | Outlook2007 + avast でアプリケーションエラー »