AccessクエリのExcelへのデータエクスポートについて、2003ではできたことが2010ではできなくなって、困っています。
2003でできていたことは、次のとおりです。
1.Access2003のクエリをExcel2003へデータエクスポートするのに、一行目の項目名を同じものにしておくと、既存の名前を付けたExcelブックの既存の名前を付けたワークシートにデータを書き込むことができていました。
2.Excel2003側に、Access2003のクエリ名と同じ名前のシートに項目列の同じ名前があれば、Access2003からのエクスポートデータが、Excel2003シートの項目名を参照して書き込んでくれました。
3.この書き込みは、Excelシートの項目列の並び順を変えても新しい項目列を追加しても成功しました。
4.Excel2003シートの新しい項目列には、Book内の既存シートを参照する式が書いてあり、メンバーに配布するExcel帳票を即座に作ることができておりました。
5.Accessデータに変動があるたびに、このエクスポートでExcelを上書きして定型業務を行っていたのです。尚、Access2003でもExcel2003でもマクロやVBは使用していません。コマンドレベルで実現していました。
同じことをAccess2010からExcel2010へのエクスポートで実行しましたが、上記のExcelへの上書きができずに困っています。
1.「Excel にデータをエクスポートする」-Access-Office.com
http://office.microsoft.com/ja-jp/access-help/HA101819737.aspx
に、「データは必ず、新しいワークシートに追加されます。既存のワークシートや指定範囲にデータを付加することはできません。」という記述がある通りでした。
2.「・・・必ず、新しいワークシートに・・・既存の・・・付加することはできません」とわざわざ断っているのは、以前のバージョンでできた機能を削除した・・・ということかとも思っています。
3.項目参照上書ができなくなったために、データが書き込まれた新しいシートから、目視で項目名を参照しながら既存ワークシートに値複写する。という一歩後退した業務になってしまいました。
ところで、Q&Aサイトへの投稿や検索をしているうちに、「Accessからエクスポートするのではなくて、Excel側からAccessクエリデータ取り込みをする」という記述を見つけました。
質問と回答の趣旨を見ると、質問は私と同じ発想のようで、回答は逆の発想のアドバイスでした。
既存のExcel2010ワークシートの書式他をそのまま生かしながら、項目名を参照してAccess2010クエリデータを同じ名前の項目列に取り込み上書きしてくれると思えたのですが・・・。
結果は列の挿入でした。既存の項目列は、押しのけられた格好になります。
そこで説明されている方法ですが、「5. そのまま、「プロパティ」をクリック」の中のコマンド遷移が私のExcel2010では見つからず、言われている細かい設定ができないのが要因と思われます。
もう少し詳しく教えていただけないでしょうか?それとも、以前のExcelではできた機能が、Excel2010になって削除されてしまった・・・ということでしょうか?
以下に、その質問と回答をそのまま引用させていただきます。
<質問>
QNo.6808941
Excel既存ファイルへのエクスポートについて
accessのクエリのデータをExcelファイルへエクスポートしようとしています。
Excelファイルは既存のファイルで、書式が設定されています。
上記のexcelファイルに設定されている書式はそのまま反映されたままで、Accessのクエリのデータのみをエクスポートする方法はありますか?
またaccessのフォームにコマンドボタンを設定し、ボタンを押下すると、エクスポート操作ができるようにしたいのですが、どうすればよいでしょうか?
質問者:pannnamama
投稿日時 - 2011-06-14 15:05:14
<質問者が選んだベストアンサー>
ANo.1
今回のケースでは、Accessからエクスポートするのではなく、Excel側で、Accessのクエリをインポート(正確には「データの取りこみ」)した方がスムーズです。
手順は、Excel側で
1.「データ」メニューから「外部データの取り込み」→「データの取り込み」
2.「データファイルの選択」画面で、該当するAccessのファイル(mdb)を選択。
3.「表の選択」画面で、該当のクエリを選択。
4.「データのインポート」画面で
•データを返す先:既存のワークシート
•データを挿入開始する(一番左上の)セルをクリック。
5.そのまま、「プロパティ」をクリック
*今回は更新することなく必要なときに都度インポートするパターンです。
•クエリの定義~~のチェックマークを外す。
•フィールド名/行番号は状況で。
•変更されたレコードの、、、、は「既存のセルを新規データで、、、」を選択。
•[OK]を押す。
6.[OK]を押すと実行されます。
回答者:shut0325
投稿日時 - 2011-06-15 10:18:59
繰り返しの質問になりますが、以上の引用の中の
「5.・・プロパティ・・」「・・変更されたレコードの、、、、は「既存のセルを新規データで、、、」を選択」が、
私の欲しい機能と思われるのですが、
一連の「プロパティ」設定が私のExcel2010では見つからないのです。
Excel2010をよく見ると、[データ][外部データの取り込み][Accessデータベース]~の遷移に出てくる[プロパティ]とは別に、[データ][接続]の中にも[プロパティ]があります。しかし[接続]の中の[プロパティ]は、グレー表示になっていていじれないようです。
できましたら画面遷移図とともに教えていただきたのです。