【元の一連の流れ】
①メインフォームのみのフォームから請求データを入力
②入力された請求データは2つのテーブルに入る
③フィールド「請求月」または「取引先コード」で検索フォームから検索
④2つのテーブルから請求データを抽出するクエリを作成・実行
⑤抽出結果をフォームで一覧表示
⑥一覧から任意のデータをレポートとして出力(印刷プレビュー)
上記が問題なく実行されるオブジェクトをそれぞれ作成しました。
一覧表示する際は、請求データのフィールドのひとつである、請求No.をキーにしています。
フォームから請求データを入力する際、請求No.に対してひとつの請求内容を
入力する仕様となっていたのですが、これを請求No.に対して複数の請求内容を
一度に入力できるように、メインフォームとサブフォームがある入力フォームに変更することになりました。
当然、入力フォーム以外のオブジェクトにも修正が必要になったのですが、
修正後、不具合が発生し困っています。
【修正後の一連の流れ】
①メインフォームとサブフォームのあるフォームから請求データを入力
②入力された請求データは3つのテーブルに入る
③フィールド「請求月」または「取引先コード」で検索フォームから検索
④3つのテーブルから請求データを抽出するクエリを作成・実行
⑤抽出結果をフォームで一覧表示
⑥一覧から任意のデータをレポートとして出力(印刷プレビュー)
【発生した問題】
1.クエリを実行した際、請求No.でグルーブ化した合計額が正しいものとそうでないものがある
(正しい値の2倍、3倍になっている)
2.レポート(印刷プレビュー)を実行した際、正しく出力されるデータとされないデータがある
(実行時エラー2427 指定した式には値がありません。と表示)
順を追ってまずはクエリ実行時の不具合から解消したいと思います。
元の流れで組んでいたクエリと、修正後のクエリの画像を添付いたします。
アドバイスいただくにあたり必要な情報は追加いたします。
大変ご面倒かとは思いますがお力添えいただけますでしょうか。
よろしくお願いいたします。
請求No.17113001だけ正しく小計の合計が抽出できているが、他は2倍、3倍になっている
<追記>
17113001は、改修後の入力フォーム(サブフォームあり)、
2倍、3倍になっているものは、改修前のフォームで入力しました。
テーブルを見ると17113001はデータの数がひとつ、
他のデータは同一の請求No.のレコードが複数あります。
請求No.を重複してカウントしてしまって、その分、倍数の値が表示されているのでしょうか。
<追記2>
重複していた請求NO.のレコードを削除してひとつにしたところ、正しい値になりました。
続いて問題の2なのですが、画像のフォームの表示ボタンをクリックすることで、
該当の請求データのレポート(請求書の印刷プレビュー)が表示される仕様になっています。
全件表示をクリックすると表示されているデータすべて(この場合4件)のプレビューが表示されます。
現状、17113001以外は正しくプレビューの表示がされますが、17113001だけエラーとなります。
(実行時エラー2427 指定した式には値がありません。と表示)
問題として何が考えられますでしょうか。
画面7:請求No.17013115の「表示」を実行して表示される印刷プレビュー
画像8:請求No.17113001の「表示」を実行して表示されるエラーメッセージ
同じ条件で抽出した結果なのですが、表示(印刷プレビュー)を実行すると、
このように一方は正しく、一方はエラーとなってしまいます。
回答2件
あなたの回答
tips
プレビュー