pickup

目次

お客さまへ連絡した履歴を残す

こんにちは。伊川(@naonaoke)です。

今回は、車検に来たお客さまへ連絡した際に、連絡した日時を入力しないと登録させないという仕掛けをします。

前回、紹介しました、入力漏れの応用版になります。

伊川は、コールセンターで仕事をしています。

お客さまへ連絡した履歴がないときには、本当に困ります。

本来は、もっと複雑な仕掛けをしますが、今回は、カンタンなものだけを紹介します。

問題提起

 

((株)IKAWAの阿久 世子男(アク セスオ)は上司から下記のような依頼を受けました。
・車検日が近いお客さまへ車検の連絡をすること。
・車検の連絡をしたお客さまとの対応日をデータベースに残すこと。
・対応日に関して絶対、入力漏れが無いようにすること。なにか良い方法はあるだろうか?

解決策

 

回答
sesuo2.jpg
・連絡時のステータス(未対応・車検申込済・不在)等を決めておく。
・検索した瞬間に、ステータスを空欄にする。
・ステータスを入力しないと登録できないようにする。

検索フォームの作成手順

作成手順 その1 データベースを確認


上の図の赤枠中に未対応という項目があります。

この部分が、ステータスというものになります。

ステータスも、各社員が独自の言葉で入力されると、データベースの意味か無いので、コンボボックスにします。


上の図のように、ステータスは、未対応、車検申込、不在、車検他社とします。

作成手順 その2 検索フォームを作成

 

上の図のような検索フォームを作成します。

検索条件は契約書番号にします。

「レコードの検索」ボタンにVBAのコードを仕込みます。

 

Private Sub コマンド82_Click()
DoCmd.ApplyFilter , "[契約書番号] ='" & Me![契約書番号検索] & "'"
Me.[ステータス] = ""
Me.[対応日] = Null
End Sub

肝心なのは、「Me.[ステータス] = “”」と、「Me.[対応日] = Null」です。

レコードを検索した瞬間に、ステータスと、対応日を空欄にします。

空欄にすることによって、連絡した日を強制的に入力させるようにします。

Private Sub ステータス_AfterUpdate()
Me.[対応日] = Now
End Sub

上のコードは、ステータスが更新されたら、対応日のフィールドに、現在の日時と時間を入力されるようにします。

作成手順 その3 入力しない限り、登録させない

 

Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.[ステータス] = "" Then
MsgBox "ステータス空欄"
Cancel = True
End If
End Sub

「Me.[ステータス] = “”」は、レコードを検索した瞬間に空欄になります。

つまり、強制的に空欄にすることによって、お客さまへ連絡した社員が必ず、最新の状態を(ステータス)を入力することになります。

ここがポイント

テーブル自体に入力規制をつけるエラーが出る場合があります。


 

ここがポイント
Function8.png
つまり、テーブルに入力規制を設定する場合は、初めてデータを入力する場合には、有効です。しかし、今回のように、いったん入力されたデータを意図的に空白にする場合は、エラーが表示されます。このエラーを回避にするために、VBAで入力規制を設定したほうが、汎用性があります。
スポンサーリンク

まとめ

今回のまとめ
sesuo6.jpg
今回は、連絡した履歴だけですが、連絡した回数等(電話した回数)も登録することができます。
それは、またの機会に説明します。
正確なデータベースを維持することは、業務短縮化へつながります。

今回のサンプルファイルはNo44です

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事