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家族メールをコピーして動作チェックをすることにしましょう。 その結果は次回に報告することにして、今日はここまで! |