本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
サポート技術情報

[XL] XLODBC.XLA を使用し NULL フィールドを含むデータを取得する際の問題

文書番号: 405460

最終更新日: 2002/08/28


この資料は以下の製品について記述したものです。


この記事は、以前は次の ID で公開されていました: JP405460

概要

Microsoft(R) Visual Basic(R) Programming System Applications Edition (以下 VBA) で XLODBC アドイン関数を使用し、 NULL フィールドを含むテーブルのデータを取得する際、一部の ODBC ドライバにおいて、ひとつ前のフィールドの値がコピーされてしまうことがあります。 本文書は、この問題の詳細と、回避するための XLODBC.XLA の入手方法について解説 したものです。

現象

XLODBC アドイン関数を使用し下記のような VBA のプログラムを実行した際、NULL フィールドを含むテーブルのデータを取得すると、 ODBC ドライバによっては、 NULL フィールドのひとつ前のフィールドのデータがコピーされることがあります。

サンプル プログラム

  Sub SQLORA ()
      Dim con As Variant
      on = SQLOpen("DSN=ABUORA72;DBQ=p:kkpsscat;UID=ABU;PWD=Excel", , 2)
      SQLExecQuery con, "select * from NULLDATA"
      SQLRetrieve con, Range("Sheet1!A1"), , , True
      SQLClose con
  End Sub

テーブル [NULLDATA] の内容              実行結果
-------------------------------------+--------------------------------------
Fld1 (char)  Fld2 (char)  Fld3 (num)   Fld1 (char)  Fld2 (char)  Fld3 (num)
aaa1          bbb1         1            aaa1         bbb1         1
aaa2                       2            aaa2         aaa2         2
aaa3                       3            aaa3         aaa3         3

回避策

アドイン ファイル XLODBC.XLA をアップデートすることにより本現象を回避すること ができます。なお、弊社でこの現象を確認している ODBC ドライバは、日本オラクル 社製 ORACLE7 用 ODBC ドライバですが、他の ODBC ドライバでも同様の現象が発生する可能性があります。

XLODBC.XLA の入手方法

弊社テクニカル サポートまでご連絡ください。

XLODBC.XLA のアップデート方法

入手した XLODBC.XLA、XLODBC.DLL を、\EXCEL5\LIBRARY\MSQUERY ディレクトリにコ ピーします。この際、既存の XLODBC.XLA、XLODBC.DLL は、あらかじめ別の任意の名前 ( XLODBC.OLD、XLODBC.OLD など)に変更するなどし、バックアップ保存しておく事をおすすめします。

Keywords: 7.0 addin Add-in function KBINFO VBA KB405460
Technology: kbExcel500 kbExcelSearch kbExcelWinSearch

inserted by FC2 system