tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: ADOでのCSVの読込
投稿日: 2010/10/28(Thu) 16:17
投稿者魔界の仮面弁士
> ここで問題なのは、下記のようなデータがあると
> PA9632が空白となってしまいます。

一般的には、CSV と同じディレクトリに schema.ini ファイルを用意して、
その列が(数値型ではなく)文字列型であることを明示することになります。

schema.ini は Text ODBC ドライバの設定画面で作成することもできますし、
メモ帳等で自作しても OK です。


この schema.ini の指定が無い場合には既定の型判定が行わていれます。

もし、この既定の動作を変更したいのであれば、レジストリの
 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Text\
の下に、文字列(REG_SZ)キー「ImportMixedTypes」を用意してください。
その値を "Text" にすれば、テキスト型固定で読み込まれるようになります。

ただし、このレジストリ設定は、PC 全体に対して及ぶことになります。

他のアプリに影響を与えず、自アプリの既定の動作のみを変更したい場合には、
 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Text\ImportMixedTypes
を、HKEY_LOCAL_MACHINE 内の任意の場所、たとえば
 HKEY_LOCAL_MACHINE\SOFTWARE\IMA\Project1\1.0\Text\ImportMixedTypes
として用意しておき、接続文字列に
 "Jet OLEDB:Registry Path=SOFTWARE\IMA\Project1\1.0;"
を追加するという手法もあります。


> ADOの仕様でNGで有れば
これは ADO の機能では無く、JET I-ISAM の機能です。そのため、
DAO を使って読み込んだ場合にも、同様に schema.ini が必要になります。

(ちなみに DAO では、DBEngine.IniPath でレジストリキーを指定できます)

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。