Back     Next Page

Access2000で家族メール?  その5

  2001.07.08 PartU tsuchiya

今回は、送信済みと完了済みを説明します。
前回でメールの送受信のおおかたは出来上がりました。
ただしメールは送信→受信→返信→受信でワンセットであるべきです。
このポリシーに基づき送信済みのホルダがあります。
送信済みのホルダには、相手が返事を書いていないか、未読のメールが入ります。
さらに詳細フォームではそのメールの状態(フラグで識別)を示します。
返信メールを相手が読むと、そのメールの送受信が完結しましたので完了済みのホルダに移動します。

それでは、まず、送信済みです。

送信済みのリストボックスのプロパティシートは省略します。

値集合ソースのSQLビューは下図です。
フラグ1は相手が未読、フラグ2は相手がメールを読んだが返事を書いてない状態です。
フラグ3は返信したメールを相手が読んでいない状態です。
送信済みのリストボックスのデータをダブルクリックして詳細フォームを開きます。(下図)
フォーム名は送信済みとしましょう。(2001.6.23のイメージから少し変更を加えています。)
リストボックスのダブルクリックイベントプロシージャです。
Private Sub 送信済み_DblClick(Cancel As Integer)

  If IsNull(送信済み) Then Exit Sub 'データなしの場合、送信済みフォームを開きません。
  DoCmd.OpenForm "送信済み", acNormal, , , , acDialog

End Sub
送信済みのフォームは返信メールのフォームとほぼ同じです。
相違点はフォームの下部にメッセージ1(ラベル名)として相手は未読です。とそのすぐ下にメッセージ2(ラベル名)
として
相手は読みました。(返事待ち)を表示するところです。
メールのフラグが1または3のときメッセージ1を、フラグが2のときメッセージ2を可視にします。
送信済みのフォームがロードされるときのイベントプロシージャです。
   
Private Sub Form_Load()

  If Me!フラグ = "2" Then
    メッセージ1.Visible = False
    メッセージ2.Visible = True
  Else
    メッセージ1.Visible = True
    メッセージ2.Visible = False
  End If

End Sub


閉じるボタンのクリックイベントプロシージャです。
Private Sub 閉じる_Click()

DoCmd.Close
DoCmd.OpenForm "受信トレイ", acNormal, , , , acDialog

End Sub

最後に完了済みです。
完了済みの値集合ソースのSQLビューは下図です。
完了済みフォームは完全な読み取りのフォームでフラグの書き換えもありませんので以下省略します。

これで、受信トレイのすべてのリストボックスとダブルクリックで開くフォームが出来ました。
後はセキュリティ関係を追加すれば完成です。

とりあえず我が家の家族用のパソコンにAccess家族メールをコピーして動作チェックをすることにしましょう。
その結果は次回に報告することにして、今日はここまで!

Back     Next Page