リンクユニット

Google検索

Windows7 & Office2010 Access2010

データがない時(レコードが0の場合)にメッセージウィンドウを表示する

投稿日:2017年1月7日 更新日:

Accessのテーブルでレコードが1件もない時、そのテーブルを元にして作成したフォームを開こうとする場合は、[データがありません]というメッセージウィンドウを表示する方法です。

以下の例では、[生産停止商品]ボタンをクリックしたときに、メッセージウィンドウを表示しています。

メッセージボックス

[T_生産停止商品]というテーブルがあり、そのテーブルを元にフォーム[F_生産停止商品]を作成しています。

ボタンの[クリック時]イベント

フォーム[F_menu]の[生産停止商品]ボタンをクリックして[F_生産停止商品]フォームが開くようにします。

コマンドボタンのプロパティを開いて[イベント]タブの[クリック時]の[...]ボタンをクリックします。

参考[F4]キーを押すと、プロパティシートを開くことができます。

コマンドボタンのプロパティ

以下の[ビルダーの選択]ダイアログボックスが表示されます。[コードビルダー]を選択して、[OK]ボタンをクリックします。

[ビルダーの選択]ダイアログボックス

[クリック時]イベントに下のように入力します。これで、[生産停止商品]ボタンをクリックすると、フォーム[F_生産停止商品]が開くようになります。

Private Sub 生産停止商品_Click()

DoCmd.OpenForm "F_生産停止商品"

End Sub

クリックイベントに入力

参考ウィザードを使ったコマンドボタンの作成は、以下の記事で解説しています。

ウィザードを使ったコマンドボタンの作成

Accessで起動時にメニューフォームを表示した後、ボタンをクリックして目的のフォームを開くようにしたいという要望はよくあります。 コマンド ...

続きを見る

フォームの[読み込み時]イベント

フォーム[F_生産停止商品]をデザインビューで開いて、[読み込み時]イベントに入力して、[T_生産停止商品]のレコードがなければ[データがありません]というメッセージを開くようにします。

読み込み時は、フォームを開きレコードが読み込まれた時([開くとき]イベントの後)に発生します。

フォームのプロパティの[イベント]タブにある[読み込み時]の[...]ボタンをクリックします。

フォームのプロパティ

[ビルダーの選択]ダイアログボックスが表示されます。[コードビルダー]を選択して、[OK]ボタンをクリックします。

[ビルダーの選択]ダイアログボックス

[読み込み時]イベントに以下のように入力します。

Private Sub Form_Load()

Dim RCount As Long
RCount = DCount("*", "T_生産停止商品")
If RCount = 0 Then
MsgBox "データがありません"
Cancel = True
DoCmd.Close acForm, "F_生産停止商品", acSaveNo
End if

End Sub

フォームの読み込み時イベント

これで、[F_menu]フォームの[生産停止商品]ボタンをクリックすると、レコードが0件の場合は[データがありません]と表示されます。

データ(レコード)がある場合は、[F_生産停止商品]フォームが開きます。

関連以下は、Dcount関数に関する記事です。

重複データが入力されたらメッセージを出す

受付番号を入力したときに、既に入力済みの番号であればメッセージを表示して、注意を促したい場合がありますね。 その場合の方法です。 フォームの ...

続きを見る

0を除く平均値を求めるには

Accessでアンケート集計を作成することになりました。 各質問に[0から5]の5段階の評価をつけもらうことにしました。 ただし、[0]は、 ...

続きを見る

重複しないデータの個数とレコードの抽出件数を自動表示

Accessのフォームに重複しないデータの個数を表示する方法を紹介します。 下のようにフォームヘッダーのテキストに部署数の重複しない個数を表 ...

続きを見る

おすすめ記事と広告

-Windows7 & Office2010 Access2010

Copyright © 2001-2019 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2019 AllRights Reserved Powered by AFFINGER4.