プロが教える店舗&オフィスのセキュリティ対策術

Accessからエクセルへのエクスポートで質問です。

Accessのテーブルの中の一つのフィールド(名前は[合計])で、=[単価]*[数量]という計算をさせたとします。

このテーブルをエクセルにエクスポートし、エクセル上で例えば
[単価]の累積合計 =SUM(**:**)
[数量]の累積合計 =SUM(**:**)
[合計]の累積合計 =SUM(**:**)
をしたとすると、[単価]と[数量]は値が得られるのですが、Accessで計算させた[合計]は0になって値を得ることができません。

[単価]と[合計]は通貨型、[数量]は数値型に設定しています。

Accessのテーブル上では[単価]と[合計]には¥マークがついているのですが、エクセルにエクスポートすると、[単価]は¥マークがついておらず、[合計]には¥マークがついています。

Accessで計算させたフィールドは、エクセルにエクスポートした場合、数字として認識されないのでしょうか?文字になってる?

うまく説明出来なくてすみませんが、Accessをエクスポートし、エクセルで加工計算を色々したいのですが、[合計]が計算出来なくて困っているという事です。

何故なのか全く判らないので教えてください。

A 回答 (2件)

jyurymickeさん 今日は!


>Accessで計算させたフィールドは、エクセルにエクスポートした場合、数字として認識されないのでし>ょうか?文字になってる?うまく説明出来なくてすみませんが、Accessをエクスポートし、エクセルで>加工計算を色々したいのですが、[合計]が計算出来なくて困っているという事です。
AccessからExcelにデータをエキスポートした場合、Excelの形式で取り込まれます。
私自身は過去にAccess98で、会社の業務プログラムを作成しましたが当時のExcelは単なる表計算ソフト
でしたのでAccess→Excel→Accessの経験はありませんが、参考サイトを紹介します。
■ExcelとACCESSのデータ交換
http://www.excel.studio-kazu.jp/lib/e3e/e3e.html
概要:MS-ACCESSとMS-Excel でデータを交換する方法を説明します。
(A) Excelの書類をACCESS側から使う [相関図のインポートの矢印]
(B) ACCESSの書類をExcel側から使う [相関図の開く矢印]
(C) ACCESS書類をExcel側から使う [相関図のエクスポート矢印]
●Excel と Access との間でデータを交換する方法について
http://office.microsoft.com/ja-jp/excel/HP052349 …
概要:1.Access のレコードを Excel にコピーする。
2.更新可能な形式で Access データを Excel に取り込む。
3.Excel データを Access データベースにリンクする。
4.Excel データを Access データベースにインポートする。
5.Excel 範囲を Access データベースに変換する。
6.Excel データから Access レポートを作成する。
7.Access フォームを使用して Excel データを入力する。

以上参考にされては、2.更新可能な形式で Access データを Excel に取り込む方法で操作すればExcelで編集が可能と為るはずです。
    • good
    • 0
この回答へのお礼

ありがとうございます。
助かりました。
色々あるのですね。
これからもっと勉強します。

お礼日時:2010/04/17 10:16

【解決策】


「=[単価]*[数量]」の演算を、クエリで行わせるようにして下さい。

【説明】
> Accessのテーブルの中の一つのフィールド(名前は[合計])で、
> =[単価]*[数量]という計算をさせたとします。

Accessのテーブルでは、「=[単価]*[数量]」といった計算を行わせる
ことはできません。
これが、テーブルと同様の表示になる『フォームのデータシートビュー』
についてのお話であれば、こちらの環境(WindowsXP/Access2003)で
現象の再現が確認できました。

どうやら、フォームのテキストボックスなどでの演算結果は、Excelへの
出力後はテキスト(文字列)扱いになってしまうようです。
一方、フォームのレコードソースにクエリを使用し、「=[単価]*[数量]」の
演算をそちらで行わせ、フォームではその結果を表示させる形にすると、
Excel出力後も数値として扱われました。

ですので、現在のフォームに使用しているテーブルを基にクエリを作成し、
そこで添付画像のような『合計』という演算フィールドを追加して、
フォームの『合計』テキストボックスのコントロールソースにこのフィールドを
指定してやれば、Excel出力後も合計が計算できるようにできます。

※演算フィールドでは、先頭の「=」は無用です。
 (「=[単価]*[数量]」ではなく、「合計: [単価]*[数量]」と指定)
 *演算結果を「合計」という名前で表示させる場合。
  (「:」の左側が名前、右側が求める結果を出すための式)
 *「単価」「数量」というフィールド名が、クエリで使用しているテーブルの
  複数で該当する場合は、「=[テーブル1].[単価]*[テーブル2].[数量]」
  のように指定します。(「.」の存在に注意)
※フォームのレコードソースは、フォームのプロパティシートの『データ』
 タブで指定できます。
※テキストボックスのコントロールソースは、フォームのデザインビューで
 テキストボックスに直接入力して指定することもできます。
「Access⇒エクセルへのエクスポートに」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございました。
出来ました。
判り易いご説明、本当にありがとうございます。

お礼日時:2010/04/17 10:14

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

このQ&Aを見た人はこんなQ&Aも見ています