Accessデータベースに誕生日のリマインダーを追加する方法を学びます。 クライアントまたは従業員の誕生日が近づいているかどうかを通知して、暖かい挨拶を送ることができます。
誕生日の挨拶を送ることは、クライアントや従業員とつながり、関係を強化するための素晴らしい方法です。 顧客/従業員のレコードを含むAccessデータベースを処理している場合、クライアントまたは従業員の誕生日が近づいたときに時々通知されると便利です。 このチュートリアルでは、データベースを開いた瞬間に誰かの特別な日を通知する関数を作成する方法を学習します。
ダウンロード
この機能の利用をできるだけ早く開始したい場合は、以下の方法があります。
今すぐVBAコードを含むサンプルデータベースをダウンロードする
それ以外の場合、DIYをしたい場合は、以下の内容を読むことができます。
前提条件
このチュートリアルでは、データベースに、名、姓、誕生日の3つのフィールドを含むテーブルがあることを前提としています。
Accessデータベースに誕生日のリマインダーを追加する手順
- 新しいテーブルを作成し、名前を付けます 誕生日セレブ。 これは、誕生日のお祝いのリストのリポジトリとして機能します。 以下に示すように、3つのフィールドを追加します。 主キーは必要ありません。
- BirthdayCelebrantsのフォームを作成します。 誕生日が近づいている場合は、データベースを開くとこのフォームがポップアップ表示されます。
- ナビゲーションペインで、BirthdayCelebrantsテーブルを選択します。
- [作成]> [フォーム]に移動します。
- 単一のフォームが自動的に作成されます。
誕生日のお祝いのリストを表示するので、フォームのデフォルトビューをデータシートまたは連続フォームに変更することをお勧めします。 このようにして、リストの概要をすばやく確認できます。
- デザインビューで、フォームを選択します。
- プロパティシートを開きます(ALT + F11)
- [フォーマット]> [デフォルトビュー]に移動します。
- データシートまたは連続フォームのいずれかで、目的のビューを選択します。
連続フォームを選択した場合は、好みに合わせてデザインを編集します。 これが私の見た目です:
誕生日テキストボックスの形式を編集して、値が長い日付形式で表示されるようにしました。 また、フォームのプロパティについて次の更新を行いました。
- 追加を許可する:いいえ
- 削除を許可する:いいえ
- 編集を許可する:いいえ
完了したら、フォームを閉じて名前を付けて保存します frm_BirthdayCelebrants。
- 誕生日のリマインダーのコードを追加します。
- 新しいモジュールを追加します。
- これにより、VBAエディターが開きます。
- 次のコードを追加し、ニーズに合わせて変更します。
- 新しいモジュールを追加します。
Public Function RunBirthdayReminders()
Dim qry As String, fld_fName As String, fld_lName As String, fld_birthday As String, tbl As String
Dim db As DAO.Database, rst As DAO.Recordset
'TO DO: Update the ff. variables with the actual name of your table and fields
tbl = "Members" 'table containing your client/employee reocrds
fld_fName = "FirstName" 'first name field
fld_lName = "LastName" 'last name field
fld_birthday = "Birthday" 'birthday field
Set db = CurrentDb
'delete current record(s) from BirthdayCelebrants table
DoCmd.SetWarnings False
DoCmd.RunSQL ("DELETE FROM BirthdayCelebrants")
DoCmd.SetWarnings True
'insert new record(s) in BirthdayCelebrants table using a query that gets list of people celebrating their birthday today.
qry = "INSERT INTO BirthdayCelebrants " & _
"SELECT " & fld_fName & ", " & fld_lName & ", " & fld_birthday & " FROM " & tbl & " WHERE " & _
"Month(" & fld_birthday & ")=Month(Date()) AND Day(" & fld_birthday & ")=Day(Date())"
DoCmd.SetWarnings False
DoCmd.RunSQL (qry)
DoCmd.SetWarnings True
Set rst = db.OpenRecordset("SELECT * FROM BirthdayCelebrants")
If Not rst.EOF Then
DoCmd.OpenForm ("frm_BirthdayCelebrants")
End If
Set db = Nothing
Set rst = Nothing
End Function
上記のコードは、当日の誕生日のお祝いのリストを取得するクエリを使用していることに注意してください。 今月の誕生日が近づいている人のリストを取得する場合は、代わりに次のクエリを使用してください。
'insert new record(s) in BirthdayCelebrants table using a query that gets list of people whose birthday is coming up for this month.
qry = "INSERT INTO BirthdayCelebrants " & _
"SELECT " & fld_fName & ", " & fld_lName & ", " & fld_birthday & " FROM " & tbl & " WHERE " & _
"Month(" & fld_birthday & ")=Month(Date()) AND Day(" & fld_birthday & ")>=Day(Date())" & _
" ORDER BY Day(" & fld_birthday & ") ASC"
- 最後に、AutoExecマクロを作成します。 これにより、データベースを開いたときにコードが実行されます。
- [作成]> [マクロ]に移動します。
- 選択 コードの実行 ドロップダウンリストから選択します。
- 関数名には、 RunBirthdayReminders().
- マクロを名前を付けて保存 自動実行 [OK]をクリックします。
- 次に、誕生日のリマインダーをテストします。
データベースを閉じて、再度開きます。 今後の誕生日がある場合は、誕生日のリマインダーフォームがポップアップ表示されます。 ない場合、データベースは通常どおり実行されます。
クイックリマインダー
さて、簡単なリマインダーです。 ある日、データベースを開くことができなくても、慌てないでください。 それを回復するために必要な手順を実行します。 それでもできない場合は、サードパーティのソフトウェアを試してください。 アクセスを修正。 まだ希望があります。
著者紹介:
Jayme Stackは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 SQLの回復 と優れた回復ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com




