人気ブログランキング |


ExcelのODBC接続にバグ?

仕事で頼まれて、数十枚のシートをACCESSのテーブルにinsertするこんなコードを書いたのだが、

Dim db As DAO.Database

Set db = OpenDatabase("scott.mdb")
Dim s As Object
For Each s In Sheets
s.Activate
ActiveWorkbook.Names.Add Name:="data", _
RefersToR1C1:="=" & s.Name & "!R1C1:R2C3"
db.Execute "insert into test select name,address,saraly from " & _
[excel 8.0;database=test.xls].[data]"
Next

「オブジェクト data が見つからない」というエラーメッセージを出してdb.executeで止まって
しまう。
いろいろ試したところでは、シート名の最初の一文字が全角数字だとこのエラーが出る模様。
仕方がないのでとりあえず、strconvで全角数字を半角数字に変換してからinsertすること
にした。全角のかな・カナや英字も変換されてしまうが、今回の場合はExcelのブック自体、
ワークファイルだったのでこれでいいだろうと見切りをつけた。

なお、ACCESS側にクエリを作ってそれを実行することでも回避できそう。
by nora1962 | 2007-12-04 23:58
<< 秋の新宿御苑 結局 openrowset 関数 >>



メモ帳
最新のトラックバック
アルバイトの為だった10..
from アフィリエイトで月収200万..
逮捕者続出!着エロってど..
from 逮捕者続出!着エロってどんな..
真木よう子 ベロニカは死..
from 真木よう子 ベロニカは死ぬこ..
ライフログ
検索
タグ
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧