gorod’s diary

楽天ブログに過去記事あります

ExcelのシートをAccessにリンクしようとするとエラーが発生する…orz

こんなエラーが出たw

 Microsoft Accessでは、現在のデータベース形式で保存されたAccessデータベースまたはMicrosoft Office Excelブックへのリンクはサポートされていません。

このエラーが出た経緯はこんな感じ。

Accessバージョン: 2016

拡張子: .mdb

リンクしようとしているExcel: Excel.application を使用し、このmdbで作成したExcelファイル

Excel拡張子: .xls

Excelバージョン: 2016

 

Excelファイルの作成で拡張子を.xlsにしても、Access側では2007以降のExcelファイル形式として認識する模様。

言われてみれば、使用してる Excelバージョンも2007以降なんですよねσ(^_^;)

この場合、私的には2通りの方法がありますw

 

1. mdbをaccdb形式に変更

リンクしたいmdbを2007以降のバージョンにすることで解決します。

欠点は2007以降のバージョンでないと動かないので、別PCで動かす場合に2007以降がなければruntime版も視野に入れる必要が発生します。

…runtime版の場合、不足部品が多いので動作確認は必須ですねぇ〜。

2. vbaを使用してExcelデータを取得

 Excel.applicationを活用して、変数へ Excelデータを突っ込んで処理をする方法です。

こっちの利点はruntime版を意識する必要はないですが、処理時間が掛かるのがネックですねぇ〜。

リンクしてしまえば、クエリで一発で出来るものが1行単位になるので…。う〜んな感じw

 

実際に使うPC環境に合わせるのが一番楽なので(インストールは何気に面倒w)、それに合わせてPGを組むのが良いですねσ^_^;

特にruntime版の場合は、マクロセキュリティの設定はregedit(レジストリエディター)を開いて信頼出来るパスを追加する対応もプラスしますしね。

 

ということで、なかなかに悩ましい匂いがするエラー内容という感じでしたw

Accessで結構Excelファイル操作することが多いので、少しでもお役に立てられたら…と思います♪

 

参考hp

Access2007で出力したxlsファイルの中身はxlsx? - まりふのひと

 

ではでは!