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

解決


お茶  2008-04-10 01:41:33  No: 100555

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

下記コードで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-10 02:23:52  No: 100556

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

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


もげ  2008-04-10 03:16:22  No: 100557

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

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


お茶  2008-04-10 17:08:52  No: 100558

お世話になります。

データの疑いに関してテストするために
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 17:32:59  No: 100559

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


お茶  2008-04-10 17:52:41  No: 100560

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

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

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

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加