- ベストアンサー
Accessにファイルを添付することはできますか?
カスタマーセンターでのクレームをアクセスで管理しています。 メールで入ってきたクレームには参考資料としてそのメールを添付したいと思っているのですが、こんなことできるのでしょうか? テーブル作成の時に『OLEオブジェクト型』を選択して、メールをドラッグアンドドロップしてみたのですが、開いたり開かなかったりです・・・。 良い方法をご存知の方がいらっしゃったらお教えください。 (Access2003です。メーラーはOutlookとshurikenです。)
- みんなの回答 (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 上記で出来ます。
その他の回答 (2)
- O_cyan
- ベストアンサー率59% (745/1260)
>メールで入ってきたクレームには参考資料としてそのメールを添付したいと思っている 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 ======================================================================
- papayuka
- ベストアンサー率45% (1388/3066)
メーラーで該当メールを名前を付けて保存をして、ハイパーリンクを貼るとか、、、
お礼
ありがとうございます^^! 違う質問でもお世話になりましたし、ホントに感謝感謝です^^; あと、もしよかったら、↓の質問も教えていただければうれしいです。 http://okwave.jp/kotaeru.php3?q=2155042 お忙しかったらお読み捨てください。失礼しました&ありがとうございました!