DAOでExcelデータを読み込み


ろんぐ  2008-12-20 07:32:57  No: 141130

VB6.0、OS,Winxp、officeXPの環境で作業しています。
DAOでExcelデータを読み込みしてるんですが、
同じように書いたはず!??の、12枚のエクセルsheetを読み込んでみると、、12枚のうち、一枚だけが、、HDR=NO,IMEX=1でやってるんですけど、、一行目を読んでしまいました。

読まないsheetをコピーして、内容を変えてやると、うまく一行目を読まずに動作出来ましたが、、いまいち一枚だけうまくいかなかった原因がわかりません。

タイトルの文字くらいで変わってしまうのでしょうか??

それとも、データの書き方?に原因があったのでしょうか??

思い当たるふしだけでも何でもいいので、、何か経験などがあればご教授お願いします!<(_ _)>


花ちゃん  2008-12-22 16:54:28  No: 141131

> HDR=NO,IMEX=1  このように指定されているのでしょうか?
"Excel 8.0;HDR=NO;IMEX=1" 正しくはセミコロン(;) で区切るのですが。
HDR=NO とした場合は先頭行を項目行(ヘッダー)として読み込まない
のであって、HDR=NO のすれば、ヘッダーとして読み込まないので通常の
データ行として先頭に表示され、ヘッダーの部分にはデフォルトの設定の
F1  F2  F3 のような項目名が表示されます。
又、どのようなコントロールに表示されておられますか?
同じ列内で文字列型と数値型等のデータが混在している等、下記に該当
するような事がありませんか?
http://hanatyan.sakura.ne.jp/vbhlp/dao_002.htm


ろんぐ  2008-12-23 06:06:29  No: 141132

花ちゃんさん、ご返信有難うございます!!

一応、"Excel 8.0;HDR=NO;IMEX=1"とこのように書いております・・・。

僕が、読み込むエクセルのシートについてですが・・・
一行目が、、空白行。。
二行目が、、、シート全体のタイトル行(一つのセルのみに書いてます)
三行目が、、空白行。。

そして、、四行目には、各列の表題?タイトル。。

そして、五行目から下は、全て、、データを入れてます。。

だから、その五行目以降を取得したいのですが・・・

とりあえず、、要らない行は、、aRS.MoveNext で飛ばしてから、ループに入ってます。。

しかし、要らない行が、、4行あるので、、aRS.MoveNext が4回、繰り返し、書いたところ、多かったみたいでした

、3回に減らすと、、うまく5行目から読めました。。

が・・・
理論からいうと、、IMEX=NO;なのに、、???って考えています。
ちょっと理解出来てないんです。。

すみません。。

ちなみに、、各列のデータ型はすべて、統一しています。


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

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






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