dポイントプレゼントキャンペーン実施中!

○使用システム
 WindowsXP
 Access2007

Accessのレコードセットに関係する質問をさせていただきます。

エクセルシートのセル範囲を指定して、下記のようにレコードオブジェクトに取り出しました。

  Set ExcelDB = OpenDatabase(OutPutFilePath, False, False, "Excel 8.0;")

  SqlLang = "SELECT * FROM " & "[" & 【セル範囲】 & "] WHERE " & 【対象レコード指定】

  Set ExcelRS =ExcelDB.OpenRecordset(SqlLang, dbOpenDynaset)

その後、.Editでレコードの編集をかけようとしますが「このフィールドはリンクされたExcelワークシートにあるため、編集できません」とのメッセージが出力されました。リンクされたエクセルは編集できないのでしょうか?
もし、同様の事象をご存知の方に助言をいただければ幸いです。

A 回答 (1件)

http://support.microsoft.com/kb/904953/ja
法的な問題により、マイクロソフトは、Excel ブック内の範囲を参照するリンク テーブルのデータをユーザーが変更できる機能を Access 2003 および Access 2002 で無効にしました。

下記は2007についての記事
http://office.microsoft.com/ja-jp/access/HA01219 …
Excel データに加えた変更は、リンク テーブルに自動的に反映されます。ただし、Access 側から見た場合、リンク テーブルは読み取り専用であり、その内容や構造に変更を加えることはできません。

だそうです。自社ソフト間で法的な問題ってなんでしょうね。
    • good
    • 0
この回答へのお礼

ご丁寧な回答をありがとうございます。
最近、Accessに慣れてしまってExcelでのセル変更の煩わしさをレコードでの編集でと画策していたところです。仕様というのであれば、別手段で解決しようと思います。

お礼日時:2010/02/18 09:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!