• ベストアンサー

アクセスのレコードが計算されない・・・・

windows2000/Access2000 レンタカーというテーブルがあって、そこから売上年が2003年、売上月が2月のデーターをフォームフィルタで検索かけてレコードを抽出し、エクセルにOfficelinksを使って出力しました。 SUMを使って請求書計の合計を計算させようとしましたが、計算されず0になってしまいます。 フォームフィルターなど検索かけずに全てレコードを出力した場合は計算されるのですが・・・? フィルターを使って検索抽出したデーターはエクセルに出力して計算させる事って出来ないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ryuu001
  • ベストアンサー率61% (46/75)
回答No.2

判りました。 Nz関数をフォームからエクセルへ出力すると 文字列になっていました。 これを数値にしないと計算できません。 C列に金額が転送されたとしたら、別の列で =Value(C2) とかして 数値に変換すれば、合計が出せます。

renault
質問者

補足

こんにちは。 アドバイス有り難うございます。 教えて頂いた方法で無事出来ました。 NZ関数を使っていたら、この方法で数値に変更してからでないと駄目なんですよね? 他の方法はないのかな・・・・

その他の回答 (2)

  • ryuu001
  • ベストアンサー率61% (46/75)
回答No.3

エクセルに出力しないで アクセスで計算されたらいかがでしょうか?

renault
質問者

お礼

度々すいません。 確かに、エクセルではなくアクセスで計算させた方がイイですよね。 そちらの方向で考えてみます。 アドバイス有り難うございました。

  • ryuu001
  • ベストアンサー率61% (46/75)
回答No.1

WinXP Access2000 書かれているように試したら フィルターを使って検索抽出したデーターでも計算できましたよ! 何ででしょう? 参考データーはありませんか?

renault
質問者

補足

おはようございます。 1つ言っておくのを忘れてたのですが、請求金額はNz関数を使ってます。 請求金額=Nz([使用金額])+Nz([その他料金]) になってます。Nzを使用してないところは計算出来るのですが。。。 Nz関数を使ってると駄目なんでしょうか? お手数かけますが宜しくお願いいたします。

関連するQ&A

  • 計算はaccessかexcelか

    access2002 excel2002 accessで売上データベースを作っています。 このデータベースからフォームを使って売上や返品をクエリで抽出してexcelに出力しています。 出力されたexcelデータはマクロで体裁を整えて帳票を作成しています。 そこで質問なのですが、消費税を売上から算出してこの帳票に掲載したいのですが、accessで消費税の計算を行ってから出力したほうがいいのでしょうか。それともexcelのマクロ実行時に消費税の計算を行ったほうがいいのでしょうか。 どちらがいいのでしょうか。 よろしくお願いします。

  • Access サブフォームにフィルター後、計算

    Access2003です。 1.サブフォームにフィルターをかけてレコードを抽出  (フォームフッターで合計値を計算するフィールドを用意しておく) 2.その合計値を利用した計算結果をカレントレコードのフィールドに自動入力 これを1つのプロシージャで行いたいのですが、うまくいきません。 1と2を分けるとうまくいきます。何か方法はありますでしょうか。 具体的に… サブフォームのカレントレコードの[西暦]フィールドにある値と同じ値が入っているレコードを抽出。 抽出されたレコードの合計をフォームフッターで算出。([原価合計][受注高合計]) [カレントレコードの売上高]=[(カレントレコードの)原価]/[原価合計]*[受注高合計] ※全体の原価に占めるカレントレコード原価の割合で、売上高を算出します。 これを一括処理しようとすると、フィルター後の[原価合計][受注合計]の算出が間に合わないのか、「0で除算しました」とエラーが出ます。 フィルターをかけるのと、売上高を求めるのを別々のプロシージャに分けて順に実行するとちゃんと算出できます。 一括でやりたいのですが、良い方法はありますか? 宜しくお願いします。 ※前回もAccessの質問をさせていただきましたが、お礼を入力する前にベストアンサーを決定してしまったため、お礼ができませんでした。回答者の皆さんその節はありがとうございました!

  • 【Access2000】レコードの抽出方法

     Access2000を使用してデータベースを作成していますが、抽出条件でつまずいています。  具体的には、  【1】選択クエリーAを基に作成したフォームA(単票形式でレコードを1件ずつ表示)があります。  【2】フォームAの中に単票形式でレポートを出力するマクロボタンが有。  【3】現在はマクロボタンを押すとパラメータで「データNo.?」と入力してもらう形になってレコードを1件抽出する形になっています。    ※画面上に表示されている「データNo.」フィールドの数値を入力してもらう形です。  質問についてですが、今のところはパラメータを入力してもらいレコードを抽出→レポートを出力していますが、パラメータを使わず、現在、フォーム上に表示されているレコード(表示されている1件)を抽出する方法はないかと壁にぶち当たっています。  言い換えれば、レポートを出力する際の元になるクエリの抽出条件で「現在、表示されているレコード」をどのように記述すればいいか、もし御存知の方がいらっしゃいましたら御教示お願いいたします。

  • Accessのサブフォームからフォームフィルタを使ってメインフォームも含めたレコードの抽出が出来ないのは何故でしょうか?

    フォームフィルタを利用してサブフォームに入力されている値でレコードの抽出を行いたいのですが、うまくできません。 メインフォームが持っているレコード全てを持ってきます。 メインフォームに含まれているデータが100件なら、それ全てを表示してしまうということです。 私が抽出したいレコードは2件だけです。 メインフォームからフォームフィルタを利用して抽出すると正しい結果が得られます。 これはどうしてでしょうか? サブフォームへの設定が何か足りないのでしょうか? 親・子のフォームのテーブルは同一のものです。 カテゴリーで親と子にフォームを分けました。 親にはクエリはなくて、リレーションシップしたテーブル数種から直接フォームにひっぱってあります。 子は一つのテーブルからクエリを作って、そのクエリからフォームに引っ張っています。 Access2003です。 どなたかご教示いただきますようお願いいたします。

  • 初心者です!ExcelデータをAccessへ

    Access初心者です・・・と云うより使い勝手が分からず、OfficeLinksでExcelへ 出力し、Excel上で加工して凌ぐこと1年。 ところが今日、Accessの情報を、大量に書き換えるよう命じられました。大変です! 今まで逃げてきましたが、使いこなせるようにならないといけない時期になりました。 とは云え、素人にAccessは使い辛い! そこで、これまたその場凌ぎですが、Excelで加工したデータをAccessへ戻すことは できるのでしょうか?慣れているExcelで書換え、Accessへ戻そうと思っています。 ご教授下さい!

  • ACCESSからエクセルを操作する方法

    宜しくお願いします。 (1)ACCESSのフォームをクリックして、抽出されたデータをエクセルに出力(マクロでやってます) (2)抽出されたデータを、エクセル上で、セル幅や項目変更等を、手動にて行っています。 この、(2)の処理を、エクセルのマクロを用いて行いたいのですが、ACCESSからエクセルのマクロ 操作は可能なのでしょうか? ご存知の方がいらっしゃいましたら、宜しくお願い致します。

  • ACCESSのフォームフィルタ

    ACCESS初心者です。 テーブルでフォームフィルタを使ってOR条件をつけてデータを抽出しましたが、解除ボタンで解除できるのですが、次にフィルタボタンを押すと前の条件で抽出されたデータが表示されてしまいます。 何も条件をつけなかった状態に戻すには、データウィンドウに戻るしかないでしょうか?

  • 新規レコードから抽出されない。

    アクセス2007で簡単な名簿を作成しています。 テーブルは1個 レコードの内容は、名前、郵便番号、住所1、住所2,会社名、会社郵便番号、会社住所1,会社住所2,入力日、個人・職場 となっています。 フォーム 入力と閲覧を兼ねたフォームを1個作成しています。 クエリー 選択クエリーを2個作っています。 【選択クエリー個人】はレコード「個人」を抽出条件を「個人」としています。 【選択クエリー職場】はレコード「職場」を抽出条件を「職場」としています。 クエリーでは、登録が個人か職場を選択出来るようにしています。 テーブルには、手元にあったエクセルのデータ(xlsx)を読み込ませました。 この時点では、【選択クエリー個人】【選択クエリー職場】どちらのクエリーでも希望通りのデータが抽出出来ました。 実際の運用を初めフォームから入力を始めた所、新規に入力したデータが【選択クエリー個人】【選択クエリー職場】個々のクエリーで抽出されない事に気がつきました。 確認した事 テーブルを確認した所、データは全てテーブルに入力されている。 テーブルで「個人・職場」の列でフィルタを掛けると、新規入力分が抽出されない。 なぜ抽出されないかを知りたい。 入力フォームにて 「個人・職場」の部分はコンボボックスにしています。 テーブルにて 入力フォームを利用せず、テーブルに直接データを入力してもフィルタで抽出されません。 対策 テーブルの内容をいったん全てを「テキスト」でエクスポートしました。 エクスポートしたデータには、フォームから入力したデータも含まれています。 テーブルをコピーして、貼り付けの際「テーブルの構造みの」として新規テーブルを作成。 新規作成したテーブルにエクスポートした「テキスト」データを読み込み。 エクスポートしたテーブルは削除し新規作成したテーブルを同じ名称に変更した。 上記対策を行った後フォームから新規データ入力後、テーブルのフィルタで抽出されるようになり、クエリーで抽出されるようになりました。旧テーブルの時に入力したデータも抽出されます。 アクセスにデータをインポートする際にエクセルのデータとテキストでは違い有るのでしょうか。 上記の対策を行いましたが、この状態で運用して問題ないでしょうか。 同じような経験された方がおればアドバイス頂ければ嬉しく思います。

  • アクセス97

    データ入力フォームからデータ検索をして同フォームに表示させる。一部書き換えた後 新しいレコードとして登録したいのですがどうしても同じレコードが書き換わってしまいます 助けてください。 具体例: 登録フォーム”A”に入力項目がID(主キー、オートナンバー)会員番号、名前、購入品、 購入日時等があります。”A”フォームから会員番号で名前を抽出して他の項目内容を 新たに入力し、追加レコードとして登録したい。 ”A”フォームにデータ抽出は出来るのですがレコード内容の書き換えになってしまいます。 回答よろしくお願いします。

  • アクセス レコードの切れ目までとぶ

    アクセスではエクセルのシフト+矢印キーのように、データが入っている最後まで飛ぶような機能はありませんか。 レコードの中に空白(null)があり、そこを確認する必要があります。前後の関係を見る必要があるため抽出クエリでは役に立ちません。 テーブルを使いながら、一つ一つジャンプして空白のレコードを探したいのですが、上記のようなショートかったおがありましたら教えてください。 ちなみに検索で"NULL"でも同じことができますが、時間がかかるためショートカットを探しています。