MS Access

AccessのBeforeUpdateでUndo

投稿日:2013年6月13日 更新日:

BeforeUpdateプロシージャ内の処理で、Cancel = Trueとしたら更新がキャンセルされるところまではできたが、テキストボックスにNullを代入しようとしてエラーが出たりして、間違って入力されている値を削除する方法がなかなか気づかなかった。
Me.Undoを入れてやると値が消せた。
きっと1ヶ月もしたら忘れていそうなので、メモ。

If Me.txtお支払い方法 = "代引き" Or Me.txtお支払い方法 = "代引き2" Then
  chk入金日 = False
Else
  MsgBox "代引き以外では入金日の入力はできません"
  Cancel = True
  Me.Undo
  chk入金日 = True
End If

-MS Access

執筆者:

関連記事

no image

Accessで実行時エラー’2465′ 指定した式で参照されている’txt区分’フィールドが見つかりません

VBAでフォームをMe.RecalcあるいはMe.Requeryしただけで、タイトルのエラーが出るケースに遭遇。F9キーを押すと同じ動作になるはずだが、キー押下では上記エラーは出ず、不思議。 ネット検 …

no image

SqlServer 2008 Express R2 をインストールしようとしているのだが、最後の最後でうまくいかない

前回、試しに自分の普段のPCでSqlServer2008をインストールしたのだが、今回はサーバ(といってもXP)を対象に同様のことをしてみた。 しかしインストールの最後で「there was an e …

no image

フォームを直接Accessで印刷プレビューし、閉じるときのイベントで処理をしたい

困ったこと: 前提として、自分とこのシステムは、フォームを直接Accessで印刷プレビューして、そのまま印刷できるように作ってある。 しかし、リボンに印刷プレビューを閉じるボタンがある一方で、フォーム …

no image

フォーム テンプレート

Accessのフォームを作るときに、「フォーム テンプレート」を使う方法があること、知っている人は多いのかな? 既存のフォームにあるテキストボックスの色やサイズなどの設定(プロパティ)を引き継いで、新 …

もう何度もAccessの集計クエリの作成をミスって怒られている

私が悪い。反省。 自戒のメモ。 Accessの集計クエリに条件を加えたい場合、その条件をどこに書くかによって結果が全く違ってくる。 それをわかってはいるのだが・・・最大やら演算やら、細かいことを同時に …