
ACCESS VBAの独学を始めました。テキストどうりにコードを入力しているのですが、以下のエラーがでていまいます。
プロシージャの宣言がイベントまたはプロシージャの定義と一致していません
入力内容は以下のとおりです
Private Sub 閉じる_Click(cancel As Integer)
Dim sts As Integer
sts = MsgBox("終了しますか?", vbYesNo)
If (sts = vbNo) Then
cancel = True
Else
DoCmd.Close
End If
End Sub
(cancel as ・・・)を消去すると、エラーはでません。
なぜなのか分からず質問しました。
すみませんが、よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
ボタンのクリックイベントにcancelパラメータは、ありません。
コードの内容からすると"Form_Unload"イベントに記載すべきと思われます。
以下の様にすればフォームを閉じる際に確認のメッセージが表示されます。
恐らくDoCmd.Closeは、必要ないはずです。
Private Sub 閉じる_Click()
DoCmd.Close
end sub
Private Sub Form_Unload(Cancel As Integer)
Dim sts As Integer
sts = MsgBox("終了しますか?", vbYesNo)
If (sts = vbNo) Then
cancel = True
End If
End Sub
丁寧な解説をいただき、ありがとうございました。
テキストの誤植でしょうか。
サイトで検索しても、上のように書いてあるところがあったりしたので
混乱してしまいました。
ありがとうございました。
No.3
- 回答日時:
コントロールのイベントのプロシージュアーの引数(の名前・数とデータタイプ)は決ってますよ。
勝手にcancel As Integer などしてはいけない。
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …
の
フォームを閉じられた時のイベント(閉じるボタン)
など参照。
閉じるとCaptionで表示されたコマンドボタンではなく、フォームの閉じるボタン(X)との違いを考えること。
ーー
http://www.accessclub.jp/bbs5/0007/vba1720.html
参照
ーー
エクセルでは
http://www.ken3.org/vba/backno/vba061.html
ユーザーフォームに(閉じるを担わせた)ボタンがある場合
Private Sub btnCLOSE_Click()
Unload Me '自分自身を閉じます
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESS VBA でのエラー解決の根拠がわかりません エラー「イベントプロパティに指定した式・・
Access(アクセス)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
EXCEL VBAのユーザーフォームに引数を渡す方法について
Excel(エクセル)
-
-
4
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
5
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
6
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
7
Access 同じデータをたくさんのレコード(同一列)に一度に入力するには
Access(アクセス)
-
8
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
9
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
10
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
11
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
12
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
13
Access VBAで行ラベルが定義されていないというエラーが出ます
Access(アクセス)
-
14
Form_Load と Form_Activate のタイミング
Visual Basic(VBA)
-
15
Enterキーでマクロを起動さす。
その他(ソフトウェア)
-
16
Accessの実行時エラーについて
その他(データベース)
-
17
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
18
Excel、VBAのユーザーフォームのラベルで変数を…
Excel(エクセル)
-
19
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
20
Excel-VBA>コントロールをグレイアウトするには?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft 365 Basic サブスク...
-
access vbaでフォームを開くと...
-
アクセスで教えてください。 電...
-
docmd.gotorecordを起動するには
-
accessでlaccdbファイルが削除...
-
「テキストデータで送ってくだ...
-
レポートの印刷を一括ではなく...
-
Accessのルックアップ
-
Accessデータベースを開くと同...
-
Access VBA を利用して、フォル...
-
Access DLookup vbaで条件を2件...
-
Accessのテキストボックスの入...
-
ACCESS 長い数字のクエリをする...
-
Access フォーム上のテキストボ...
-
Arduinoで温湿度と時刻を1分ご...
-
Accessのレポートについて
-
Accessフォームの配色テーマを...
-
Accessのクエリの印刷設定
-
Accessデータベースに含まれる...
-
アクセスで、実行時エラー3075 ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAで、実行時にsheet上...
-
エラー内容が分かりません
-
オプションボタン
-
コモンダイアログエラー
-
エクセルVBAでmeに相当するもの...
-
キーボードでコマンドボタンを...
-
EXCEL VBA テキストボックスの...
-
エクセル2010のvbaとコマンドボ...
-
【エクセル2003】マクロ終了後...
-
ワードVBAで画像を挿入
-
Windows10のクイックアクセスと...
-
複数のデータ系列の線の太さを...
-
【マクロ】excelファイルを開く...
-
VBAを一度起動するとずっと出て...
-
エクセルでツールバーに「縮小...
-
昨日まで動いていたエクセルの...
-
excelファイルに使われているVB...
-
エクセル終了時の保存確認メッ...
-
Excelが勝手にシート移動してし...
-
コピーしたファイルのマクロを...
おすすめ情報