No.3ベストアンサー
- 回答日時:
No.2の方の答えが正しいです。
MsgBoxを表示させた後に、
Exit Subをつけないと、処理がそのまま続行されてしまうので、
エラーが発生してしまいます。
なので、データのチェックを行い、
エラーメッセージを表示した後に、
必ず、ExitSubをつけましょう。
No.2
- 回答日時:
これでどうなるかわかりませんが、
'データ名が入力されているかどうかチェック
If IsNull([Forms]![ラベル作成登録画面]![cmbDTL]) Then
MsgBox "データ名[左]を入力してください"
End If
などの入力チェックに
'データ名が入力されているかどうかチェック
If IsNull([Forms]![ラベル作成登録画面]![cmbDTL]) Then
MsgBox "データ名[左]を入力してください"
Exit Sub
End If
というようにExit subを入れないとプログラムは進んでいってしまうんじゃないですかね。
No.1
- 回答日時:
うーん。
。。難しい質問ですね。質問自体は、すごく単純な質問なのですが、
実際のプログラムを見てみないと、返答ができません。
例えばですが、
本来であれば処理を実行する前に、処理するデータが存在するかどうかをチェックして、
存在しないのであれば、処理をExitするだけだと思います。
プログラムを載せる事はできますか?
この回答への補足
kouta52さんへ
プログラムの内容は下記のとおりです。
宜しくお願いします。
**************************************************
'ラベル作成登録画面の左をクリック
Private Sub 左_Click()
'データ名が入力されているかどうかチェック
If IsNull([Forms]![ラベル作成登録画面]![cmbDTL]) Then
MsgBox "データ名[左]を入力してください"
End If
'病院名が入力されているかどうかチェック
If IsNull([Forms]![ラベル作成登録画面]![cmbHPL]) Then
MsgBox "顧客名[左]を入力してください"
End If
'曜日が入力されているかどうかチェック
If IsNull([Forms]![ラベル作成登録画面]![cmbYBL1]) Then
MsgBox "曜日1を入力してください (予備の場合は空白を選択してください)"
End If
'曜日が入力されているかどうかチェック
If IsNull([Forms]![ラベル作成登録画面]![cmbYBL2]) Then
MsgBox "曜日2を入力してください (予備の場合は空白を選択してください)"
End If
'曜日が入力されているかどうかチェック
If IsNull([Forms]![ラベル作成登録画面]![cmbYBL3]) Then
MsgBox "曜日3を入力してください (予備の場合は空白を選択してください)"
End If
'ラベルレポートを開く
DoCmd.OpenForm "左"
With [Forms]![左]![txtDTL1]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbDTL]
End With
With [Forms]![左]![txtDTL2]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbDTL]
End With
With [Forms]![左]![txtDTL3]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbDTL]
End With
With [Forms]![左]![txtHPL1]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbHPL] + " 御中"
End With
With [Forms]![左]![txtHPL2]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbHPL] + " 御中"
End With
With [Forms]![左]![txtHPL3]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbHPL] + " 御中"
End With
With [Forms]![左]![txtYBL1]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbYBL1]
End With
With [Forms]![左]![txtYBL2]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbYBL2]
End With
With [Forms]![左]![txtYBL3]
.SetFocus
.Text = [Forms]![ラベル作成登録画面]![cmbYBL3]
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 2 2023/03/02 18:54
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて 重複したものがあれば行を削除するとい 1 2023/02/27 18:49
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 6 2023/03/03 18:05
- その他(メールソフト・メールサービス) サンダーバードメール移動しない 1 2023/05/13 11:21
- Visual Basic(VBA) エクセル 2つの列にある値の完全一致を抜き出すVBA 15 2022/12/15 03:22
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Visual Basic(VBA) エクセルVBA コードが同じでもファイルによって処理速度が大きく変わるのはなぜ 5 2022/11/06 21:34
- Visual Basic(VBA) Vba 互換モードでのAppActiveについて教えてください 2 2022/06/27 18:47
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
OLE又はDDEを使うVISUAL BESICモジュールを実行している時は…と表示されます
その他(Microsoft Office)
-
ACCESS 「パラメータの入力」を消したい!!
Access(アクセス)
-
クエリをキャンセルしたいのですが。。。
その他(データベース)
-
-
4
アクセスVBAのMe!と[ ]
Access(アクセス)
-
5
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
6
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
7
ACCESSでコントロールソースの変更
Access(アクセス)
-
8
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
9
Accessでグローバル変数を宣言して定数を定義したい
その他(データベース)
-
10
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
11
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
12
VBAの実行時エラー'2522'について
Access(アクセス)
-
13
Access サブフォームでの選択行の取得
その他(データベース)
-
14
accessでイベントを中止するようなコマンドはあるのでしょうか?
その他(データベース)
-
15
ACCESSのフォーム、開くんですが、見えないようにするには
Access(アクセス)
-
16
Accessでデータシートに同じデータがいくつもでてしまいます。
その他(データベース)
-
17
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
18
アクセスVBAで、フォームの値をレポートに代入したい
Access(アクセス)
-
19
Access 1レコードずつcsvで出力したい
その他(データベース)
-
20
テキストボックスにクエリ結果を表示させたい
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
iPhoneのニューラルエンジンっ...
-
【C#/Java?】try-catchでcatch...
-
private subモジュールを他のモ...
-
特定の名前のオートシェイプの...
-
Word VBA。各マクロの間に待ち...
-
どうやってもFor文を抜けてしま...
-
バッチファイルでのエラー処理...
-
vbaのエラー対応(実行時エラー...
-
マクロで、次のコードへ行く前...
-
【VBA】エラー処理で別プロシー...
-
特定のファイルを他のプロセス...
-
Excel VBA セルの名前があるか...
-
シグナル 6(SIGABRT)とは?
-
COBOL OCCURSで指定したデータ...
-
VB.NET SPRED(チェックボック...
-
ListViewから選択中の文字列を取得
-
順番に処理させたい
-
【C#】Page_Loadさせない方法に...
-
ProgressBarを用いる場合、全体...
-
複数個のTextBoxでいずれかの内...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
IF文に時間(何時から何時ま...
-
private subモジュールを他のモ...
-
シグナル 6(SIGABRT)とは?
-
Functionで戻り値を複数返す方法
-
特定の名前のオートシェイプの...
-
ExcelのVBAで、選択したファイ...
-
マクロで、次のコードへ行く前...
-
どう増強すべきか
-
VBA 複数の行を高速で削除する...
-
Excel VBA セルの名前があるか...
-
特定のファイルを他のプロセス...
-
Word VBA。各マクロの間に待ち...
-
どうやってもFor文を抜けてしま...
-
【VBA】エラー処理で別プロシー...
-
エクセル VBAで複数セル選択時...
-
シェルスクリプトでファイル内...
-
【Vb.net】プリンタジョブの取得
-
vbaのエラー対応(実行時エラー...
-
VBAでBook読み込み時の非表示方...
おすすめ情報