Microsoft Access Club >Access裏技Tips >このページ >次頁 < 前項 サイト内検索


顧客名簿のメールアドレスをチェックする : Access裏技Tips



メールアドレスはスパムメールの影響もあって、アドレスが長くなりつつあります。 ここでは、メールアドレスのチェックとして、@ と . のチェックを行う技を紹介します。

メールアドレスをチェックする

顧客名簿を入力するテーブル(tbl_sample)を作成します。ID(オートナンバー型)、氏名、Mail(共にテキスト型)フィールドを作成します。 このテーブルを元に顧客名簿フォーム(frm_sample)を作成します。このフォームに顧客名、メールアドレスを入力するテキストボックス(txt日付、txtMail)を作成します。メールチェックは、更新前処理イベントをを利用して、InStr関数、StrConv関数で行います。

顧客名簿フォームの作成

顧客名簿フォームを作成します。

  1. tbl_sampleテーブルをもとに、顧客名簿フォームを作成します。
  2. 氏名、メールアドレスを入力するテキストボックスを作成します。
  3. メールアドレスの中に @ と . が存在するかチェックします。

txtMailテキストボックスの更新前処理イベントプロシージャの作成

txtMailテキストボックスの更新前処理イベントプロシージャを作成します。

Private Sub txtMail_BeforeUpdate(Cancel As Integer)

    Dim strmsg1 As String
    Dim strmsg2 As String

    Const strA = "@" ' --- A
    Const strB = "." ' --- B
    strmsg1 = "メール形式で入力して下さい。@がありません!!"
    strmsg2 = "メール形式で入力して下さい。ドット(.)がありません"

    If InStr(Me.txtMail, strA) = 0 Then ' --- C
        MsgBox strmsg1, 16
        Cancel = True ' --- D
        Me.Undo ' --- E
    End If

    If InStr(Me.txtMail, strB) = 0 Then
        MsgBox strmsg2, 16
        Cancel = True
        Me.Undo
    End If

End Sub
解説
  1. 定数@(アットマーク)を宣言します。文字列ですから“(ダブルクォーテーション)で囲みます。
  2. 定数.(ドット)を宣言します。文字列ですから“(ダブルクォーテーション)で囲みます。
  3. Instr関数は、ある文字列の中から指定した文字列を検索し、最初に見つかった文字位置 (先頭からその位置までの文字数) を返す関数です。今回は、メールアドレス中に@が存在するか否かのチェックに利用しています。
  4. 引数CancelにtRUEを代入し、処理を中止します。
  5. メールアドレスが全角文字であれば半角文字に変換します。
今回のおすすめポイント

更新前処理イベント

更新前処理イベントは、入力データがテーブルに保存される前に発生するイベントです。複雑な入力チェックに最適なイベントで、更新、保存処理を取り消すことが可能です。

txtMailテキストボックスの更新後処理イベントプロシージャの作成

txtMailテキストボックスの更新後処理イベントプロシージャを作成します。

Private Sub txtMail_AfterUpdate()

     Dim str変換後 As String

     str変換後 = StrConv(Me.txtMail, vbNarrow) ' --- A
     Me.txtMail = str変換後

End Sub
解説
  1. StrConv関数のvbNarrow定数を用いて、半角文字に変換します。
今回のおすすめポイント

更新後処理イベント

更新前処理イベントは、入力データがテーブルに保存された後に発生するイベントです。入力チェックなどはできませんが、他のオブジェクトに働きかけ値の代入など多彩な働きが可能です。なお、イベントを取り消すことはできません。

動作確認

  1. デザインビューからフォームビューに切り替えます。
  2. メールアドレス入力欄に、@を入れずにメールアドレスを記述し更新します。

  1. 警告メッセージが立ち上がり、入力したデータは元の状態に戻ります。


関連ページ

ページの先頭へ 前ページへ戻る

 


顧客名簿のメールアドレスをチェックする : Access裏技Tips


 

-Microsoft Access Club-

アメリカ合衆国やヨーロッパのデータセンターからcPanelレンタルサーバーをご提供します。お支払いは日本国内の銀行振込で...。1ヵ月契約からOKです。
アメリカ合衆国やヨーロッパからcPanelレンタルサーバー。
お支払いは日本国内の銀行振込。
最短契約期間は1ヵ月契約からOKです。