
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)
-
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
Accessフォームを開くときに決まった順番で表示
Access(アクセス)
-
-
4
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
5
Access IF文でテーブルに存在しない場合の処理について
Access(アクセス)
-
6
Access2000、これはいったい・・・・
その他(データベース)
-
7
クエリをキャンセルしたいのですが。。。
その他(データベース)
-
8
レコード件数が0件なら印刷をしない。
Access(アクセス)
-
9
AccessのRefresh・Requery・Repaintの違い
Access(アクセス)
-
10
AccessのDAO.ExecuteとDoCmd.RunSqlの違いについて
その他(データベース)
-
11
Accessでサブフォームの中の並べかえを固定したい
Access(アクセス)
-
12
「RunSQL」と「Execute」の違い
Access(アクセス)
-
13
どこにもフォーカスを当てたくない
Access(アクセス)
-
14
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
-
15
Access DAOのExecuteメソッドのオプション(RecordsetOptionEnum)に
Access(アクセス)
-
16
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
17
Access VBAで行ラベルが定義されていないというエラーが出ます
Access(アクセス)
-
18
AccessのDAOでフィールド名を配列に格納して・・・
Visual Basic(VBA)
-
19
アクセスで入力したデータの順番が変わってしまいます
その他(ビジネス・キャリア)
-
20
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どう増強すべきか
-
private subモジュールを他のモ...
-
Word VBA。各マクロの間に待ち...
-
VBAで組み合わせソフトを作ろう...
-
特定の名前のオートシェイプの...
-
UWSCについて
-
エクセルVBAでロックをかけたい
-
IF文に時間(何時から何時ま...
-
VBSのプログラムをタスクスケジ...
-
アクセスからエクセルファイル...
-
シグナル 6(SIGABRT)とは?
-
ExcelのVBAで、選択したファイ...
-
VBA For Each 〜 複数条件について
-
SQL文を出力する事ってでき...
-
VCでビープ音を鳴らし続ける
-
UWSCのTHREADについて
-
非アクティブシートでの For Ea...
-
複数のファイルに対し同じ処理...
-
vbaのエラー対応(実行時エラー...
-
worksheetFunctionクラスのVloo...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
private subモジュールを他のモ...
-
vbaのエラー対応(実行時エラー...
-
シグナル 6(SIGABRT)とは?
-
IF文に時間(何時から何時ま...
-
マクロで、次のコードへ行く前...
-
Excel VBA セルの名前があるか...
-
どう増強すべきか
-
特定の名前のオートシェイプの...
-
途中で処理を中断させたい (ア...
-
特定のファイルを他のプロセス...
-
順番に処理させたい
-
Word VBA。各マクロの間に待ち...
-
StatusStripの表示が更新されな...
-
ドリブン??
-
ExcelのVBAで、選択したファイ...
-
RaiseEventのメリット
-
【VBA】エラー処理で別プロシー...
-
エクセルVBAでロックをかけたい
-
どうやってもFor文を抜けてしま...
おすすめ情報