DAOで5555行しかMSFlexGridに読込めない。

解決


GON  2003-05-29 10:06:03  No: 78079

Excel用ファイルをMSFlexGridに表示する(DAOを利用)
http://www.bcap.co.jp/hanafusa/VBHLP/daoexcel.htm
を活用させて頂き、
10500行、10列、2.29MB のExcel表をMSFlexGridに読込んだ
ところ  5555行しかどうしても読込んでくれません。
列は全(10)列表示されました。
環境はVB6、SP5、WIN98、およびXPです。
全行読込むための解決策をどなたかご教授下さい。


魔界の仮面弁士  2003-05-29 11:19:46  No: 78080

もしかしたら、このあたりが関係しているのかも知れません。
http://support.microsoft.com/default.aspx?scid=kb;ja;191006

> 読込むための解決策をどなたかご教授下さい。
行数を例えば20行に固定してしまい、別途その横にVScrollを配置し、
スクロール量に応じてセルの内容を自前で書き換えていくとか。。。
(実際、そのような作り方をしたプログラムを幾つか見た事があります)

もしくは、MSFlexGridの使用を諦めて、別のコントロールに変更するとか。


VBレスキュ-(花ちゃん)  URL  2003-05-30 02:02:53  No: 78081

通常は読込めると思うのですが?
DAOを使っても35万セルまでなら読込めました。
エラーメッセージ等は出ていないのでしょうか?
データに問題がありませんか?
途中でデータの型が変わっているとか
一度DAOを使わない方法で読込んで見て下さい。


GON  2003-05-30 06:09:24  No: 78082

お手数をおかけしております。
セル数は間違いなく35万以下です。
全くエラーメッセージは出ませんでした。
データの型ですが、3種類全く異なったエクセル表
でトライしましたが、矢張りどの場合も5500行付近で
止まってしまいます。
又、エクセル表を途中で2分割して試してみましたが、
特定の行で止まる訳ではないようです(データ型による
ものではないようようです)。
引続きご検討をお願いします。


VBレスキュー(花ちゃん)  2003-05-30 08:19:21  No: 78083

まったく同じデータ(1234等)を10列×10000行のデータを
作成して試して見て下さい。それでもだめならコードを投稿してみて下さい。
因みにデータはどのようなデータですか?


GON  2003-05-31 00:03:41  No: 78084

5500行付近で止まった原因が解りました。
読込まれたMSFlexGrid表の列を確認したところ
63列存在しました。
行数x列数は略35万セルに相当します。
Excel表は10列であるのに何故63列表示されて
しまうのか?、Excel表と列数を同じにするにはどうすれば
よいのか? を引続きご教授下さい。


魔界の仮面弁士  2003-05-31 00:39:09  No: 78085

> 行数x列数は略(約?)35万セルに相当します。
あ、やっぱり。(^_^;)

> Excel表は10列であるのに何故63列表示されてしまうのか?
「書式設定されたセル」や「空白文字が書かれたセル」などが
63列目に実在しているのでは。


GON  2003-05-31 01:52:33  No: 78086

Excelにも余り精通していないため、正しいか
どうか解りませんが、11列以降を全て削除
しての実施です。
即ち、11列目移行にはデータ等が存在しないと
思うのですが?


魔界の仮面弁士  2003-05-31 05:19:04  No: 78087

> 11列以降を全て削除しての実施です。
削除ではなく、「1〜10列を新規ブックにコピー」してから実行しても、
同じ結果になるかどうか、試して見てください。

# こちらにはそのデータが無いので、確認しようが無いのが残念。。。


GON  2003-05-31 08:14:39  No: 78088

大変にお騒がせしました。
魔界の仮面弁士さんの Advice ”削除ではなく、
「1〜10列を新規ブックにコピー」してから・・・”
通りに実施した結果全ての行を読込むことができました。
従って、原因はExcel表のゴミにあったこととなります。
どうやらVB以前に Excel を勉強する必要がありそうです。
皆さんありがとうございました。


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

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






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