ADOでMSHFlexGridにCSVファイルの表示について

解決


お茶  2008-04-09 16:41:33  No: 100555  IP: 192.*.*.*

お世話になっております。

下記コードでADOにてMSHFlexGridにCSVファイルの表示を行っています。

Dim adoCn As New ADODB.Connection
Dim adoRs As New ADODB.Recordset
    'コネクション生成
    adoCn.ConnectionString = "Provider=MSDASQL;Extended Properties=""" & _
                          "DRIVER={Microsoft Text Driver (*.txt; *.csv)};" & _
                          "DBQ=" & "c:\aaa\" & """"
                 
    adoCn.Open
    
    'レコードセット生成
    strSQL = "Select * From " & "aaa.csv"
    adoRs.Open strSQL, adoCn, adOpenStatic, adLockReadOnly, 1
    
    Set Me.MSHFlexGrid1.Recordset = adoRs

このコードで実行すると途中までしかデータが表示しません。
aaa.csvには1000件程(1行15項目)のデータが格納されていますが
実際にグリッドには260件しかデータが表示されません。

なにか設定などがあるのでしょうか?

よろしくお願いいたします。

編集 削除
やじゅ  2008-04-09 17:23:52  No: 100556  IP: 192.*.*.*

フレキシブル グリッド におけるセル総数 350,000 の制限
なので、余裕ですね。

ってことは、データにおかしいところがある可能性が・・・
表示されないあたりを疑ってみる。

編集 削除
もげ  2008-04-09 18:16:22  No: 100557  IP: 192.*.*.*

>フレキシブル グリッド におけるセル総数 350,000 の制限
それは、MSFlexGrid(Hなし)の制限であり、
MSHFlexGridには制限が無かったかと。

>ってことは、データにおかしいところがある可能性が・・・
に同意です。

編集 削除
お茶  2008-04-10 08:08:52  No: 100558  IP: 192.*.*.*

お世話になります。

データの疑いに関してテストするために
1行「1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1」
のCSVデータを3000行つくり、最初のコードでテストした所、
2048行目以降のデータが表示されませんでした。

adoRs.RecordCountにてレコードセットに入っているデータ行数を調べると
3000ですべてのデータが入っているようです。

また、データグリッドにも同じadoRsをセットしたところすべてのデータが
表示されました。

よろしくお願いいたします。

編集 削除
もげ  2008-04-10 08:32:59  No: 100559  IP: 192.*.*.*

>2048行目以降のデータが表示されませんでした。
http://support.microsoft.com/kb/194653/
ではありませんか?

編集 削除
お茶  2008-04-10 08:52:41  No: 100560  IP: 192.*.*.*

お世話になります。
ご返答いただいた皆様ありがとうございました。

もげ様ご指摘のVS6によるバグでした。
私のバージョンを確認したところサービスパックを何も当てていない状態でした。(すっかりあてていた物と勘違いしておりました。)

SP6をあてた所、上記現象が改善されました。

お手数おかけして申し訳ありません。
ありがとうございました。

編集 削除