access2003にて登録フォームを作成しています。
このフォーム内に入力したデータを登録ボタンを押し、「登録しますか」のメッセージに
「いいえ」とすれば保存せずにこのフォームを閉じる。
「キャンセル」とすれば保存せずにフォームに戻る。
「はい」とすれば保存して閉じたいです。
しかし、以下の式を実行すると
「いいえ」はバッチリ希望通りに動くのですが、
「キャンセル」をすると保存されてフォームに戻り、
「はい」とすると保存されずにフォームが閉じられてしまいます。
何がまずいのでしょうか・・・。
-----
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim Ret As Integer
Ret = MsgBox("登録しますか?" & vbCrLf & " " & vbCrLf & "「いいえ」を選択すると保存せず閉じます", vbYesNoCancel)
'「いいえ」を選択したら、保存せずに閉じる
If Ret = vbNo Then
DoCmd.Close acForm, "振返りデータ", acSaveNo
'「キャンセル」を選択したら、保存せずにフォームに戻る
Else
If Ret = vbCancel Then
Else
DoCmd.Close acForm, "振返りデータ", acSaveYes
End If
End If
End Sub
No.1ベストアンサー
- 回答日時:
acSaveYes の意味は、フォームの変更をメッセージ無しで保存する、ということですよ。
入力したデータを登録するのとは、全然関係ないオプションです。
典型的には、並べ替えの順序を保存しておくとか、フィルターを保存しておくとか、そんなことに使うのではないでしょうか。
このコードでは BeforeUpdate イベントでフォームを閉じることになっていますから、レコードが保存される前に、フォームが閉じるのは、正常にコードが走っていることになると思います。
入力したデータを保存するなら、私なら、非連結のフォームを作って、「登録する」を押したら、そのフォームに記入された数値をVBAのプロシージャで所定のテーブルに書き写していく、というふうにします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) Excel VBA 同じ名前のフォルダがあれば作成したブックを格納するマクロをつくりたい 2 2023/01/16 16:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PDFファイルの倍率を変えて保存...
-
Googleマップに保存した地点が...
-
至急エクセルで最小限の保存が...
-
プリントスクリーンで保存した...
-
クラウドのデータ保存について
-
ムービーメーカー 動画が小さ...
-
ExcelのVLOOKUP不具合
-
【VBA】マクロの入ったファイル...
-
サポートされたファイル形式お...
-
e-taxで送信ファイルの拡張子が...
-
個別に違う添付ファイルを付け...
-
エクセルで「特定の文字を含む...
-
ビデオファイルのプロパティの...
-
連続的に画像を受け取り、画像...
-
garagebandのLR Mixの方法について
-
TextBoxにフォーカスを与えると...
-
iPhoneの内蔵の記憶媒体は、HDD...
-
C言語のselectでのファイルディ...
-
自動変数とローカル変数
-
HTMLでアンカーをはりPowerPoin...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PDFファイルの倍率を変えて保存...
-
Googleマップに保存した地点が...
-
ITパスポートの一環で質問です...
-
至急エクセルで最小限の保存が...
-
alert で文字の色を変えたい
-
過去の写真や動画の長期保存(...
-
ムービーメーカーの動画保存に...
-
プリントスクリーンで保存した...
-
スライドショーのDVD保存に...
-
「指定されたパスのアクセス許...
-
パワーポイント2007で上書...
-
ムービーメーカー 動画が小さ...
-
Pythonについて。
-
自分の就職先は、大学側にデー...
-
ポケナビGPSのデータを地図ソフ...
-
オートCADのハッチング
-
エクセルのフィルター後の並び...
-
Vistaのエクスペリエンスインデ...
-
地図上をクリックしてポリライ...
-
ワードフォーマックで考え中マ...
おすすめ情報