VB6.0、OS,Winxp、officeXPの環境で作業しています。
DAOでExcelデータを読み込みしてるんですが、
同じように書いたはず!??の、12枚のエクセルsheetを読み込んでみると、、12枚のうち、一枚だけが、、HDR=NO,IMEX=1でやってるんですけど、、一行目を読んでしまいました。
読まないsheetをコピーして、内容を変えてやると、うまく一行目を読まずに動作出来ましたが、、いまいち一枚だけうまくいかなかった原因がわかりません。
タイトルの文字くらいで変わってしまうのでしょうか??
それとも、データの書き方?に原因があったのでしょうか??
思い当たるふしだけでも何でもいいので、、何か経験などがあればご教授お願いします!<(_ _)>
> 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
花ちゃんさん、ご返信有難うございます!!
一応、"Excel 8.0;HDR=NO;IMEX=1"とこのように書いております・・・。
僕が、読み込むエクセルのシートについてですが・・・
一行目が、、空白行。。
二行目が、、、シート全体のタイトル行(一つのセルのみに書いてます)
三行目が、、空白行。。
そして、、四行目には、各列の表題?タイトル。。
そして、五行目から下は、全て、、データを入れてます。。
だから、その五行目以降を取得したいのですが・・・
とりあえず、、要らない行は、、aRS.MoveNext で飛ばしてから、ループに入ってます。。
しかし、要らない行が、、4行あるので、、aRS.MoveNext が4回、繰り返し、書いたところ、多かったみたいでした
、3回に減らすと、、うまく5行目から読めました。。
が・・・
理論からいうと、、IMEX=NO;なのに、、???って考えています。
ちょっと理解出来てないんです。。
すみません。。
ちなみに、、各列のデータ型はすべて、統一しています。
ツイート | ![]() |