アプリ版:「スタンプのみでお礼する」機能のリリースについて

アクセス2016で不一致クエリからレポートを作成したのですが、データが空のときイベントマクロで印刷し、データがあるとき印刷を中止しテーブルAに登録するようにしたいのですが、どの様にしたら良いでしょうか?

質問者からの補足コメント

  • 説明不足で申し訳ありません。
    不一致クエリで不一致データがない場合、レポートA,レポートB,レポートC,レポートDを印刷。不一致データがある場合は不一致のデータをテーブルAに追加してから、レポートA .B ,C ,Dを印刷したいのです。
    よろしくお願いします。

      補足日時:2018/09/06 15:49

A 回答 (5件)

不一致クエリーの件数をDCount関数で確認し、0の場合は印刷し、0でない場合は、不一致クエリーを元に作成した追加クエリーを実行すればいいと思います。


マクロではありませんが、プロシージャでのプログラムイメージは下記のようになります。
フォームを作成し、コマンドボタンを作り、クリック時イベントのプロシージャに記載します。

If DCount("*", "不一致クエリー") = 0 Then
   '不一致データがない時
DoCmd.OpenReport "A"    'レポートAの印刷
DoCmd.OpenReport "B"
      ・
      ・
Else
   '不一致データがある時
DoCmd.SetWarnings False   '確認メッセージ非表示セット
DoCmd.OpenQuery "不一致クエリーを元にした追加クエリー"
DoCmd.SetWarnings True   '確認メッセージ表示にセットして、通常に戻す。
End If
    • good
    • 1
この回答へのお礼

ご教示ありがとうございます。
コマンドを作って、D Count関数までは上手く行っていると思うのですが、その後のレポート印刷でエラーになります。やり方が悪いのかもしれません。

お礼日時:2018/09/14 12:59

DCount("*","Q_納入場所CDの未登録抽出")=0で表示されるエラーメッセージの内容を教えて下さい。

    • good
    • 0
この回答へのお礼

条件のところで、エラー:DCount("*","Q_納入場所CDの未登録抽出")=0
アクション名、引数はエラーなし
エラー番号:2001 です。

お礼日時:2018/09/15 23:13

印刷時のエラーメッセージを教えてください。


それと、したいことを十分理解していませんでした。
おしゃっていることからすると下記のようになります。

If DCount("*", "不一致クエリー") <> 0 Then
   '不一致データがある時は、不一致データを追加する。
   DoCmd.SetWarnings False   '確認メッセージ非表示にセット。不一致データが存在したことを確認したい場合は必要ありません。
   DoCmd.OpenQuery "不一致クエリーを元にした追加クエリー"
   DoCmd.SetWarnings True   '確認メッセージ表示にセットして、通常に戻す。
End If

DoCmd.OpenReport "A"    'レポートAの印刷
DoCmd.OpenReport "B"
      ・
      ・
    • good
    • 0
この回答へのお礼

ご教示ありがとうございます。
こちらも、やりたい事に対して充分な説明がなく申し訳ありません。
作成したいものは、フォームにある印刷ボタンを押したとき、不一致データがない場合は、印刷実行。不一致データがある場合は、エラーメッセージを表示する。です。不一致データを基に3ヶ所手入力でテーブルに追加しますので、自動追加は不要です。
エラーメッセージは、
DCount("*","Q_納入場所CDの未登録抽出")=0
です。よろしくお願いします。

お礼日時:2018/09/15 13:30

>不一致データがある場合は不一致のデータをテーブルAに追加


黙って追加すればよろしいかと。
当然、不一致が無いときは何も追加されません。
追加後に「追加件数」を表示するとかすれば判りやすいかと。
    • good
    • 0

>データが空のときイベントマクロで印刷し


何を印刷するのですか?
    • good
    • 0
この回答へのお礼

説明不足で申し訳ありません。質問内容補足しました。お時間あるときに教えて頂けませんか。よろしくお願いします。

お礼日時:2018/09/07 12:45

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