投稿日 | : 2003/12/10(Wed) 19:01 |
投稿者 | : 太郎 |
URL | : |
タイトル | : EXCEL形式のファイルをADOで読み込む |
こんばんわ、VBでプログラムを開発中ですが、行き詰まってしまったので教えて頂けないでしょうか?
EXCEL形式のファイルをADOで読み込むのですが、FIELDの値がNullになる事があるので困っています。
こちらのサンプルプログラムを参考にEXCELファイルからの読込部分を作成しました。
以下のような感じです。
strProvider = "Provider=MSDASQL;Extended Properties="""
strDriver = "Driver={Microsoft Excel Driver (*.xls)};DBQ="
strConnection = strProvider & strDriver & DirPathDB & "\" & FileNameDB & """"
adoCN.ConnectionString = strConnection
adoCN.Open 'コネクションをオープン
strSql = "SELECT * FROM [SHEET$]"
adoRS.Open strSql, adoCN, adOpenForwardOnly, adLockOptimistic, adCmdText
ここでadoRS.Fields(1)の値がきちんと読めたりNullになったりします。
EXCELファイルの内容は以下のような感じです。属性はすべて文字列としています。
機能名 項目数
保存 8
表示位置 標識 日本語名 項目名 カラム幅
1 ORADB 日付 DDATE 1800
2 ORADB キー KEY 1800
3 ORADB 名称1 NM1 2500
:
8 ORADB …
ファイル形式をEXCELにしたのは同様の形式の定義が複数有り、それをシート単位で管理したかったの
と実行環境では不用意に変更されないようするためです。(実行環境にはEXCELはインストールしない)
上記の項目数から読み込むレコード数を決定するのですが、この値が読めたり読めなかったりします。
一旦数値属性にして保存してから文字列属性に変えると読める時もありますが不定です。
何かヒントでも良いので助けて頂けないでしょうか?
ちなみにADOを使うのは今回が初めてで、サンプルプログラムを元に試行錯誤で作成しました。