MS Access Tips/Sample and VBA and Blog customize etc...

タグ: BeforeUpdate ( 10 件)

DMaxを使った自動採番で複数行コピーにも対応

オートナンバー型ではなく自前で自動採番したい時、フォームの更新前処理でDMax関数を利用して次の連番を取得して代入するという方法はあちこちで紹介されています。 ただ、この方法は、既存レコードの複数レコードを選択してコピー、あるいはエクセル等から複数行コピーして、追加貼り付けをした場合、追加されたレコードはすべて同じ番号になってしまいます。 もし、主キーフィールドだとエラーが出て最初の1件以外は貼り付...

複数項目の入力チェックを共通モジュール化する

フォーム上に複数の入力必須のテキストボックスがあります。各テキストボックス毎にチェックするコードを記述すると同じようのコードの繰り返しになりますので、これをコンパクトに記述できないでしょうか。また、他のフォームでも共通に使えるように共通モジュールにできないでしょうか。 このような要件は需要がありそうですね。掲示板の回答の確認用にサンプルを作成したので紹介します。 難易度:...

「レコード保存ボタン」クラスの改良

前回の記事 閉じるときに更新前処理をキャンセルすると出るメッセージを変更 の仕様を「レコード保存ボタン」クラスにも適用してみます。また、「閉じる」コマンドボタンも追加します。 難易度:...

閉じるときに更新前処理をキャンセルすると出るメッセージを変更

以前の記事 保存前に確認する やマウスホイールでレコード移動しないようにする などのように更新前処理でイベントをキャンセルするコードを記述しているときに、フォームを閉じるアクションで連鎖して更新前処理が発生しそれをキャンセルしたときに、下記のようなシステムメッセージがでます。 このような無粋なメッセージではユーザーに困惑と不安を与えるだけのなで、ユーザーに優しいオリジナルなメッセージを表示したいで...

クラスで自作イベントを実装する

「レコード保存ボタン」クラスで入力チェックで、入力チェック後保存するかどうかは、パブリック変数SaveCancelを通してクラスモジュール側に渡していました。今回は、もう少しクラスらしい方法を紹介します。 クラスでは自分でイベントを作ることができます。これを利用して「保存ボタン」クラスに「更新前処理」イベントを追加してみます。 難易度:...

「レコード保存ボタン」クラスで入力チェック

前々回の レコード保存ボタンのクラス化 で保存ボタンをクリックしたときのみ保存する仕様のクラス化をしました。で、そのフォームで正しくデータが入力されているかチェックをするにはどうしたらいいでしょうか。 通常はフォーム全体の入力チェックは更新前処理で行うのが定石です。クラスモジュールでフォームの更新前処理イベントを設定してますが、フォームモジュールの方にも更新前処理イベントを記述することができます。...

レコード保存ボタンのクラス化

前回の記事 マウスホイールでレコード移動しないようにする で「保存」ボタンをクリックしたときのみレコード保存できるようにする仕様のフォームを作成しましたが、ボタンのクリックイベント以外に、フォームの更新後処理、更新前処理、ダーティ時、取り消し時 のイベントプロシージャも記述する必用がありました。入力フォームが一つだけならいいのですが多数ある場合、ユーザーインタフェイスを統一するためにすべての入力フォ...

レコード入力時に「保存」コマンドボタンでのみレコード保存できるようにする

ユーザーがレコードの入力中にマウスホイールを触ってしまって、意図に反してレコード移動して勝手にレコード保存されてしまいます。マウスホイールでレコード移動できないようにできないでしょうか。 最近、立て続けにこのような質問を見かけました。マウスホイールを無効化する方法は、WEBで検索すれば方法は見つかります。例えば、マウスのスクロール --Access Club Access 初・中級者 FORUM--。 しかしAPIを使いサブクラ...

データ型不一致エラーメッセージを変更する

連結テキストボックスで、データ型に合わない値を入力したとき、Accessくんは、 このフィールドに入力した値が正しくありません。 たとえば、数値型のフィールドに文字列を入力しました。 という無粋なエラーメッセージを出します。 もう少し分かりやすく具体的にメッセージを表示したいと思いますよね。 先日もこのような質問がとある掲示板でありました。私はついうっかり入力チェックは更新前処理というセオリーに従って回...

保存前に確認する

Access の連結フォームで入力するとき、レコード移動したり、フォームを閉じたりすると、自動で保存されてしまいます。保存するか、保存しないか選択するようにできませんか。 これも掲示板などでよく見かける質問ですね。 簡単なVBAで実現できます。 難易度:...
該当の記事は見つかりませんでした。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。