• 締切済み

計算結果が毎回違う。

WINDOWS XPのACCESS97で稼動しているPGをWINDOWS7のACCESS2003にMDBを変換しました。 変換は成功しましたがある集計表の数字がXPのものと違うのです。そのPGを2回、3回と実行すると 毎回、計算結果が違います。変数や配列のクリアの問題かな?と思い処理の頭でクリア処理をしていますが、結果は同じです。PGの概要としては、マスターファイルを指定された情報を持つレコードをクエリーで抽出してそのデータをコードで集計して画面に表示するものです。ちなみに、実行するたびにクエリーの抽出件数は同じです。このデータを集計するのですが、実行するたびに結果が増えたり減ったりします。単に増えていくだけではないのです。 他にも似たような処理のPGは何本もありますが、すべて問題なく動いています。何をどこから考えてよいか、途方にくれています。何かアドバイスをお願いします。

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

コードが不明なので何とも言えませんが 1行ずつステップ実行した場合に 結果が同じになるなら、 そのコード中に不適切な部分(非同期的処理?)が有るのでは。

関連するQ&A

  • Access クエリ、計算について

    クエリで計算、集計した結果をもう一度計算する場合 一度テーブル作成クエリでテーブルを作成してから そのテーブルをクエリに変換しないといけない、と考えていましたが 集計したクエリを別のクエリで集計できるのですかね? テーブル作成クエリは、クエリを実行するたびに計算、集計すると 時間がかかってしまうので完成したデータをテーブルとして作成する という考え方であっているでしょうか?

  • Access クロス集計結果の空欄にゼロを入れたい

    Accessのクロス集計クエリの実行結果がNullの欄に 0(ゼロ)が入るようにしたいのですが、どうすればよいでしょうか? よろしくお願いします。

  • Access不一致クエリーの結果把握方法について

    Accessを使用して不一致データの抽出は出来るのですが、不一致があるかないかの結果をロジックに含める事は出来るでしょうか? 現在Accessを使って、データ変換処理を作成していますが、基になるマスター情報が存在しない場合があり、不一致データ抽出処理を作成しました。 この不一致データ抽出処理を使用して、不一致があった場合となかった場合に分けて、次の処理をコントロールしようと考えているのですが、どのような方法があるでしょうか? 例えば、変換基になるデータには顧客コードが登録されていますが、この顧客コードから顧客名を表示しようとした場合、当然新規顧客はAccessプログラム中のテーブルにはこの新規顧客が登録されていない為、名称が表示されません。 その為、不一致クエリーでもし顧客コードから名称を取り出せないものがあった場合のみ顧客テーブル登録のフォームを表示したいと思うのですが、どのように判断すればよいのでしょうか? すいませんが、お教え下さい。

  • アクセス2003 計算結果を反映させたい

    当方:XPのoffice2003 です。 アクセスでデータを作っています。 商品名テーブルを作成し、クエリを介して フォームから入力できるようにしています。 たとえば、100g2000円の商品があったとして、 これをgごとに単価を出したいのですが、 (例でいうと、20 という答えを出したい) 本を読んで、フォーム上で自動計算させることは できるのですが、このフォームの数字を そのままテーブルに反映させることはできますか? 集計表を出すときに、クエリで集計表を出して印刷し、 資料にしています。 この集計表に、計算させた単価を表示させたいのですが・・・ 私のやりかたが間違ってるのか、 または違う方法でできるものがあるのか、 教えて頂きたいと思います。 説明不足の部分がありましたら、ご指摘下さい。 よろしくお願いします。

  • クエリで試験結果を個人ごとに集計したいのに??

    クエリで試験結果を個人ごとに集計したいのに?? Accessド素人です。例えば、商品別に売上金額の集計をしようとした場合、クエリで、「Σ」を押し、売上の合計欄を「グループ化」から「▼」から「合計」にすると商品ごとに集計が出る、と、思っています。 150人分の生徒の過去5回分の試験結果を集計したいのです。テーブルは「生徒マスター」「試験結果累積テーブル」ほかです。リレーションはうまくいってると思っています。 「Σ」ボタンを押して、試験の合計点数の「グループ化」を「合計」にして、「実行」したのですが、結局、個人ごとに集計できていないのです。何が間違っているのでしょうか? もしかして、大きな勘違いをしているのかも? とても心配です。どうか、よろしくお願いいたします。

  • accessでクロス集計した結果を摘出する方法

    access2007を使っています。 ロータスアプローチからの乗り換えなのでかなり使い方が違い戸惑っています。 クエリよりクロス集計をし、その結果を他のクエリに反映させたいのですが、方法が判りません。 また、クロス集計以外で似たようなデータ摘出方法があれば教えてください。

  • ACCESSのデータをEXCELに貼り付けると文字列になってしまう

    仕事でアクセス2000を使ってデータを抽出し、エクセルに貼り付けて 数字を集計する作業があります。 アクセスからエクセルに貼り付けた数値をΣを使って集計しようとしたのですが、数字が文字列として認識されているため、 その都度数値に変換しなければなりません。 アクセスのデータをエクセルに貼り付けた時に、数値として認識させる設定はどのようにしたら良いのでしょうか? OFFICE2003, WINDOWS XPで作業しています。 よろしくお願いします。

  • アクセスで集計って出来ますか?

    アクセスで出したデータをExcelにエクスポートして集計しないとならないのに、出来ません。エクスポートボタンをクリックして何分経ってもエクスポートできず、あげくのはてにはエラーで応答しなくなります。今日3時までに抽出が必須なのでパニックです。。・゜・(ノД`)・゜・。初歩の質問ですみません。アクセスでクエリを使い出したデータを、アクセス上で集計する方法あるんですか?例えば、A社B社の各月の売り上げをクエリを実行し出したとします。それをExcelにエクスポートしてから集計するのではなくアクセス上で二社の売り上げ総合計をだすこと出来ますか?どなたかお詳しい方教えて下さい。アクセス初めて使うのに誰も教えてくれないので助けてください(>人<;)

  • Javaの計算結果がおかしい

    javaの勉強をしていますが、以下のプログラム(double型の配列データを全件合計)を実行するとおかしな結果になります。 どなたか、理由をご教示願いただきたく。 package exec; public class Error { public static void main(String[] args) { double[] data = {12.3,12.2,12.3,13.0,12.8,13.0}; double total = 0.0; for (double dd : data){ total += dd; System.out.println(total); } } } 実行結果は、次のように正しくありません。 12.3 24.5 37.5 50.3 62.599999999999994 75.6 ちなみに、double[] data = {12.3,12.2,13.0,12.8,13.0,12.3}; のように2つめの12.3を最後にすると 12.3 24.5 37.5 50.3 63.3 75.6 と正しい集計をします。 環境はWindows7(64bit)、Eclipse 3.7(junoでも同じ結果)、JDK1.7 です。 以上、よろしくお願いいたします。

  • 選択クエリで実行結果を非表示にできますか?

    自分がやろうとしていること自体が間違っているかもしれないのですが・・ Access2000で販売管理を作っています。請求書を発行する開始日付と終了日付を入力させる日付入力フォームがあります。この日付を元に売上TBから日付範囲内を抽出する選択クエリを作っています。(クエリの抽出条件にBetweenを使っています)。 そして請求書フォームでデータ表示させようと作っています。 これらを、日付入力フォームにあるコマンドボタンのクリックイベントで Docmd.OpenQuery "Q売上" ’日付範囲内の売上データ抽出クエリ Docmd.OpenForm "請求書" とすると請求書フォームにはデータが表示されるのですが、背面にQ売上の実行結果が表示されています。 この実行結果を表示させないようにはできないのでしょうか?(選択クエリとはOpen=実行でしょうか) ちなみに請求書フォームのレコードソースにQ売上を書こうとしましたが、抽出条件の日付が日付入力フォームなので記述方法がわかりません。 ややこしい質問で申し訳ございませんが宜しくお願い致します。

専門家に質問してみよう