重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

カスタマーセンターでのクレームをアクセスで管理しています。
メールで入ってきたクレームには参考資料としてそのメールを添付したいと思っているのですが、こんなことできるのでしょうか?

テーブル作成の時に『OLEオブジェクト型』を選択して、メールをドラッグアンドドロップしてみたのですが、開いたり開かなかったりです・・・。

良い方法をご存知の方がいらっしゃったらお教えください。

(Access2003です。メーラーはOutlookとshurikenです。)

A 回答 (3件)

>ボタンをクリックして表示させたいのですがどのようにすればよいか


ハイパーリンクにフルパスとファイル名(メールの保存名)が入っている場合。
ボタンのクリック時のイベントに
例えばボタン名がボタン1でハイパーリンクのフィールドのコントロール名がメール1の場合
Private Sub ボタン1_Click()

Dim strFilePath As String

strFilePath = ""
strFilePath = strFilePath & Me![メール1]
Application.FollowHyperlink strFilePath

End Sub
でリンクを代入して表示できます。
保存したメールの名前のみテーブルに保存してある場合は。(入力した名前が.emlの拡張子まで入力していない場合)
Private Sub ボタン1_Click()

Dim strFilePath As String

strFilePath = "C:\フォルダまでのフルパス\" 'C:\Mail\ のように
strFilePath = strFilePath & Me![Name] & ".eml"
Application.FollowHyperlink strFilePath

End Sub
これでパスとファイル名を代入して指定できます。

>『メール1』に文字(ハイパーリンク)が入力されたらチェックボックス『チェック111』にチェックを入れる
メール1の更新後処理のイベントに
Private Sub メール1_AfterUpdate()
If Not IsNull([メール1]) Then
Me!チェック111 = True
Else
Me!チェック111 = False
End If
End Sub
>手動でチェックをはずすと隣のハイパーリンクが削除される
チェック111の更新後処理のイベントに
Private Sub チェック111_AfterUpdate()
If Me![チェック111] = False Then
Me!メール1 = Null
End If
End Sub

上記で出来ます。
    • good
    • 0
この回答へのお礼

ありがとうございます^^!
違う質問でもお世話になりましたし、ホントに感謝感謝です^^;

あと、もしよかったら、↓の質問も教えていただければうれしいです。
http://okwave.jp/kotaeru.php3?q=2155042

お忙しかったらお読み捨てください。失礼しました&ありがとうございました!

お礼日時:2006/05/16 17:58

>メールで入ってきたクレームには参考資料としてそのメールを添付したいと思っている



OLEオブジェクト型でデータベースに取り込むと(表示情報など全て保存するため)mdbの容量が急激に増加したりしますのでハイパーリンク型でフルパスをテーブルに格納した方が良いと思います。
メールを保存するフォルダを作り受理Noや受付No等あればそのNoでメールを保存して一意の名前にしておきそのフルパスをハイパーリンクのフィールドに保存する。
テーブルやフォームでもクリックすれば表示されますので。
または
受理Noや受付Noでメールが同じフォルダに保存出来る環境であればフォーム上でそのフォルダのパスを代入させておいて受理Noや受付Noを使いボタンなどのコントロールのイベントで表示できるようにすれば良いと思いますが。

この回答への補足

ありがとうございます!ハイパーリンク型にしたら無事解決しました^^!
ご提案いただいたようにボタンをクリックして表示させたいのですが、どのよ
うにすればよいかお教えいただけますでしょうか・・・?申し訳ございません。

あと、『メール1』に文字(ハイパーリンク)が入力されたら、隣にあるチェッ
クボックス『チェック111』にチェックを入れるようにして、手動でチェック
をはずすと隣のハイパーリンクが削除される(Nullになる)ように設定したいと
思いまして、以下のようにしてみましたが、案の定ダメでした・・・。
どのように書き換えたらよいのでしょうか?

======================================================================
Private Sub チェック111_Click()
If IsNull(チェック111) Then
Me!メール1 = Null
End If
End Sub
======================================================================
Private Sub メール1_Exit(Cancel As Integer)
If Not IsNull(メール1) Then
Me!チェック111 = True
End If
End Sub
======================================================================

補足日時:2006/05/15 16:13
    • good
    • 0

メーラーで該当メールを名前を付けて保存をして、ハイパーリンクを貼るとか、、、

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!