1

これは、私が継承したレガシーAccess2003データベースに関するものです。Excel(97-2003)スプレッドシートをリンクするコードがいくつかあります。

tdf.Connect = "Excel 5.0;HDR=Yes;IMEX=2;DATABASE="&strXLFileName
tdf.SourceTableName = strSourceTableName & "$"
CurrentDb.TableDefs.Append tdf

その後、リンクされたテーブルを開くと、#Numが表示されます。数値とテキストの両方を含むことになっている列の数値の代わりに。

たとえば、Excelでは次のようになります。

Field1
H88
234
X65
432

Accessのリンクされたテーブル:

Field1
H88
#Num!
X65
#Num!

私は次のことを試しました。(a)Excel5.0をExcel8.0に変更します。これは、ソースファイルの形式により正確です。(b)リンクの代わりにDoCmd.TransferSpreadsheetを使用してインポートします。

最初のものはまだ#Num!を与えますが、インポートはnullを与えます。

現時点では、新しいバージョンにアップグレードすることはできません。コード内には、Application.FileSearchを使用する場所がいくつかあり、注意深く書き直してテストする必要があります。

Access 2003で「数字」をテキストのように扱う方法を知っている人はいますか?

TIA!

4

1 に答える 1

1

に変更IMEX=2IMEX=1て、すべての値をテキストとして扱います。

詳細についてIMEX、Excel2007の接続文字列を参照してください。

于 2012-10-04T23:49:12.610 に答える