
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
OLE又はDDEを使うVISUAL BESICモジュールを実行している時は…と表示されます
その他(Microsoft Office)
-
Access2000、これはいったい・・・・
その他(データベース)
-
AccessのDAO.ExecuteとDoCmd.RunSqlの違いについて
その他(データベース)
-
-
4
「RunSQL」と「Execute」の違い
Access(アクセス)
-
5
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
6
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
-
7
新規レコード行を非表示にしたい
Access(アクセス)
-
8
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
9
Accessフォームを開くときに決まった順番で表示
Access(アクセス)
-
10
On ErrorでエラーNoが0
Visual Basic(VBA)
-
11
クエリをキャンセルしたいのですが。。。
その他(データベース)
-
12
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
13
アクセスVBAのMe!と[ ]
Access(アクセス)
-
14
SELECTした結果に行番号を求めたい
PostgreSQL
-
15
Access サブフォームでの選択行の取得
その他(データベース)
-
16
ACCESSのVBで、エクセルファイルの最終行を取得
Excel(エクセル)
-
17
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
18
Accessエラー 複雑すぎるために評価できません
Excel(エクセル)
-
19
テキストボックスに入力した値を、次に入れ替えるまで保持させたいのですが、どのような方法があるでしょう
Access(アクセス)
-
20
Access IF文でテーブルに存在しない場合の処理について
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シグナル 6(SIGABRT)とは?
-
【C#/Java?】try-catchでcatch...
-
Excel VBA セルの名前があるか...
-
マクロで、次のコードへ行く前...
-
順番に処理させたい
-
【C#】Page_Loadさせない方法に...
-
VBA 複数の行を高速で削除する...
-
エクセル画面のちらつきなくす...
-
どう増強すべきか
-
winsockの非同期処理について
-
タイマーの使い方
-
UWSCのTHREADについて
-
IF文に時間(何時から何時ま...
-
ドリブン??
-
RaiseEventのメリット
-
【VBA】エラー処理で別プロシー...
-
【Vb.net】プリンタジョブの取得
-
アクセスからエクセルファイル...
-
バッチファイルでのエラー処理...
-
VBA シートのボタン名を変更し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
private subモジュールを他のモ...
-
どう増強すべきか
-
Excel VBA セルの名前があるか...
-
vbaのエラー対応(実行時エラー...
-
IF文に時間(何時から何時ま...
-
特定の名前のオートシェイプの...
-
シグナル 6(SIGABRT)とは?
-
マクロで、次のコードへ行く前...
-
どうやってもFor文を抜けてしま...
-
【Vb.net】プリンタジョブの取得
-
特定のファイルを他のプロセス...
-
VB6にてネットワーク上にある共...
-
シェルスクリプトでファイル内...
-
【VBA】エラー処理で別プロシー...
-
cobolのコントロールブレイク
-
Functionで戻り値を複数返す方法
-
エクセル VBAで複数セル選択時...
-
【C#】Page_Loadさせない方法に...
-
ExcelのVBAで、選択したファイ...
おすすめ情報