• ベストアンサー

レコード件数が0件なら印刷をしない。

おはようございます。 アクセス2000でVBAを書いています。 あるテーブル(テーブルA)を元にレポート(レポートB)を作成しました。テーブルAのレコード件数が0件の時、印刷をさせたくないのですが、うまく書けません。IF文で分岐したいのでよろしくお願いします。 ちなみにテーブルAには顧客ID、カナ氏名、漢字氏名等が入っています。 誰か、助けて~!

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

  • ベストアンサー
  • vantage
  • ベストアンサー率60% (310/514)
回答No.2

一例として・・・ If DCount("顧客ID", "テーブルA") > 0 Then 'レコードがあるときの処理 Else 'レコードがないときの処理 End If あるいは・・・ If DCount("顧客ID", "テーブルA") = 0 Then 'レコードがないときの処理 End If 'あとはそのまま続行 詳しくはヘルプで「DCount」を調べてください。

noname#12495
質問者

お礼

いやぁ~出来ました!ホント、みなさんの知識には頭が下がります。ペコリ! ありがとうございました。

その他の回答 (3)

  • happypoint
  • ベストアンサー率36% (521/1422)
回答No.4

こちらが参考になるのではないでしょうか。 Access Q&A Library

参考URL:
http://www.akj.co.jp/aug/qa/ans0001-0050/1094.html
noname#27115
noname#27115
回答No.3

Aテーブルを対象に作成したレコードセットを myRSとおいた場合、 IF myRS.Recordcount=0 then 印刷しない Else 印刷する End IF でいける気がしますが、、、

noname#4564
noname#4564
回答No.1

  > 件数が0件の時、印刷をさせたくないのです '******** Form ******** Private Sub cmdPrint_Click() On Error Goto ErrLine DoCmd.OpenReport "ReportName", Args...... Exit Sub ErrLine: DoCmd.Hourglass False Select Case Err.Number '2212 プリンタが無効。 '2501 印刷中止。 Case 2212, 2501 DoCmd.CancelEvent Case Else 'その他のエラー。 Beep Call MsgBox(CStr(Err.Number) & ":" _ & vbCrLf & Err.Description _ & vbCrLf & vbCrLf & "エラーが発生しました。", _ vbCritical, "エラー") End If End Sub '******** Report ******** Private Sub Report_NoData(Cancel As Integer) Beep Call MsgBox("印刷対象となるレコードがありません。", vbExclamation) Cancel = True End Sub

関連するQ&A