こんにちは!
Accessについて、質問です!!
あるフォームの『修正』というボタンのクリック時プロパティに、以下のVBAが組み込まれています。
Private Sub 修正_Click()
CopyRec
End Sub
ここに新たに、
『メッセージボックス』『ウインドウを閉じる』VBAを加えたいのです。
現状として……
(1)Private Sub 修正_Click()
CopyRec
MsgBox "修正が完了しました"
End Sub
(2)Option Compare Database
(下線)
Private Sub 修正_Click()
CopyRec
End Sub
Option Compare Database
(下線)
MsgBox "修正が完了しました"
End Sub
上記(1)(2)は、失敗しています。
質問は2つあります。
(1)1つのプロパティに、複数のVBAを設定するのは可能ですか?可能なら、どのようにVBAを入力すれば正常作動するのでしょうか?
(2)『ウインドウを閉じる』VBAの書き方が調べても分かりませんでした……。どのように入力するのですか?
どちらか1つが分かる方でもかまいません。
回答よろしくお願いします!
No.3ベストアンサー
- 回答日時:
No2のIf文はこの形ではなく、単に
Private Sub 修正_Click()
CopyRec
MsgBox("修正が完了しました。フォームを閉じます。")
DoCmd.Close acForm, Me.Name
End Sub
のように、コードを羅列しても同じなので
どちらでもいいです。
一応、No1とNo2はIf文を使った例です、ということに
します。
複数のパターンのVBAをご教授いただき、ありがとうございます!
試したところ、正常作動しました♪
今回ベストアンサーにしたこちらを採用しましたが、No.1とNo.2も今後の参考にさせていただきます。
回答、ありがとうございます!
No.2
- 回答日時:
失礼しました。
考えてみれば、CopyRec が先にあるので、Yes/NoでするとNoだと CopyRec をまたすることになるので
NGですね。
以下のようにしてみてください。
Private Sub 修正_Click()
CopyRec
If MsgBox("修正が完了しました。フォームを閉じます。") = vbOK Then
DoCmd.Close acForm, Me.Name
End If
End Sub
No.1
- 回答日時:
要するに、
「修正が終わったので、このフォームを
閉じますよ、よろしいですか?」
というようなことでしょうか。
YESならば閉じるというコードを、というのであれば、
Private Sub 修正_Click()
Dim ret As Integer
CopyRec
ret = MsgBox("修正が完了しました。フォームを閉じます。よろしいでしょうか?", vbYesNo + vbQuestion + vbDefaultButton1, "お知らせ")
If ret = vbYes Then
DoCmd.Close acForm, Me.Name
End If
End Sub
では?
この回答への補足
説明不足、失礼しました;
実を言うと、私の希望としては、
メッセージボックス
タイトル:修正完了
メッセージ:修正が完了しました
ボタン:『OK』のみ
で、OKクリックと同時にフォームを閉じる形にしたいのです。
pirorin654さんのVBAも参考に、設定してみます。
回答ありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA。複数のChangeイベントをまとめる方法 2 2022/03/31 12:03
- Excel(エクセル) エクセルのイベントプロシージャーでF列の最終行のセルの入力をトリガーにしたいのですが 1 2022/10/14 09:36
- Visual Basic(VBA) Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。 2 2023/07/14 14:06
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) ユーザーフォームに2つのコンボボックス銀行名「ConboBox1」支店名を「ConboBox2」とし 4 2022/08/03 17:34
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスのフォームのビューが...
-
ACCESSのフォームからデータの...
-
アクセスでテーブルの変更内容...
-
「メソッドまたはデータメンバ...
-
Accessのフォーム上にレコード...
-
Access 別フォームへの再クエ...
-
選択したチェックボックスのみ...
-
アクセス 0以外をカウントす...
-
テキストボックス(アクセス)内...
-
ACCESSで入力フォームをHTMLフ...
-
アクセス97のテーブルを直接...
-
ACCESSで、フォームのレコード...
-
Access2002 フォームを閉じるた...
-
ACCESS(アクセス):一度の入力で...
-
他フォームのチェックボックス...
-
Access:yesの時は画像を表示、...
-
Accessフォームのテキストボッ...
-
access レコードソースを選択...
-
Accessのフォーム画面でスクロ...
-
ACCESS フォームにデータ入力で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSのフォームからデータの...
-
Accessのフォーム上にレコード...
-
選択したチェックボックスのみ...
-
アクセスでテーブルの変更内容...
-
アクセスのフォームのビューが...
-
accessの自動更新処理をできな...
-
Access 別フォームへの再クエ...
-
Accessフォームのテキストボッ...
-
ACCESSで入力フォームをHTMLフ...
-
「メソッドまたはデータメンバ...
-
帳票フォームに全レコードを表...
-
テキストボックスの値をテーブ...
-
アクセス 0以外をカウントす...
-
テキストボックス(アクセス)内...
-
Access2002 フォームを閉じるた...
-
アクセスでの項目追加について...
-
Access フォーム上でコンボボッ...
-
Accessのフォームで作業領域を...
-
入力途中の入力した値をすべて...
-
ACCESSの表形式で、レコードを...
おすすめ情報