プロが教えるわが家の防犯対策術!

現在、Microsoft Accessを利用したクレーム管理表を作成中で、そのクレーム内容を複数名にて情報共有したいと思っています。そこで、皆様のアドバイスを頂戴できれば助かります。

Accessのフォーム内に複数のメールアドレスを表示させ、その中から選択したアドレスに対してクレーム内容(レポート)をメール送信(OUTLOOK又はOE)したい。

(できれば、チェックボックスを利用して、チェックを入れたアドレス(又は人名)に対してメール送信を行いたいと思います。)

素人質問で申し訳ございませんが、宜しくお願い致します。

A 回答 (6件)

sendobjectはマクロでもできますが、一旦VBAを覚えるとそちらの方が分かりやすいのでVBAの例を記述しました。



それでは、もっと詳しくご説明します。

フォーム上にメール送信ボタンを作成します。
そのボタンのプロパティーに「イベント」があると思います。
そこの「クリック時」で「イベントプロシージャー」を選択して、右端の「・・・」をクリックしてください。

VBA記述画面が表示されるはずです。
その中のprivate sub と end subの間に前述の内容を貼り付けて完成です。

もちろん、to_adrとcc_adrのアドレス記述は実際に存在するメールアドレスに変更してくださいね。
    • good
    • 2
この回答へのお礼

skikichi様

お礼が遅くなり申し訳ありません。

なんとなく分かってきました。工夫しながら頑張っていきます。本当に色々とありがとうございました。

お礼日時:2005/04/21 12:20

VBA分りますか?


メール送信の部分だけ抜粋して記述します。

==========================
Dim to_adr As String
Dim cc_adr As String

to_adr = "claim1@xxx.com"
cc_adr = "CC@xxx.com"

DoCmd.SendObject , , , to_adr, cc_adr, , "クレームの件", "重大なクレームが多数発生しましたので下記に詳細を報告いたします。" & Chr(13) & Chr(10) & "2行目です", False

==========================

分らないところがあればご指摘ください。
    • good
    • 0
この回答へのお礼

skikichi様

返答遅くなり申し訳ありません。
VBA・・・今、懸命に勉強中の段階です。今まではEXCELをメインに使用しており、その際に使用していたマクロは動作をそのまま記録させるものでしたので、VBAは殆ど解からない状態です。

初歩の初歩が理解できていない状態ですので、苦心しています。。 

なんとか、SendObjectを使用して、メール送信まではやって見たいと思っています。色々とアドバイスをありがとうございました。

お礼日時:2005/04/18 12:26

最も確実な方法は「SendObject」を使用する方法です。


ただし、必ずメール送信直前に確認メッセージが表示されます。

一方「SendKeys」は、最後まで自動でメール送信を行えますが、フォームから送信操作をしてからメール送信完了するまでPCの操作をすると正常に送信されないことがあります。
つまり、この機能は実際に手でPCを操作する内容を自動で行うリモート機能のようなものなんです。

たとえば、こんな感じです。
1.メール送信画面でタイトルを挿入
2.次のフィールドへ移動
3.Toアドレスを挿入
1. SendKeys "クレーム有り!", True
2. SendKeys "{TAB}", True
3. SendKeys "mashy_ok@***.ne.jp", True

どちらかお好み次第となると思います。

この回答への補足

skikichi様
アドバイスありがとうございます。
「最も確実な方法」で行きたいと思いますので、「SendObject」について、もう少し教えて頂けないでしょうか? また、情けない事に、どうすれば「SendObject」なるものを使用できるかも良くわかっていませんので、手順を含めてご教示頂けると、とても助かります。宜しくお願いします。

補足日時:2005/04/15 12:18
    • good
    • 0

「SendKeys」ではダメですか?



ご不明な点は詳しくご説明しますが。

この回答への補足

ACCESSのHELPを読んでみましたが、何分にも素人なので、よく解かりませんでした。。もう少し、具体的にご教示頂けないでしょうか?宜しくお願い致します。

補足日時:2005/04/14 12:10
    • good
    • 0

> そのクレーム内容を複数名にて情報共有したいと思っています。



メールで共有ではなく、データベースそのものを共有ということは
環境的?にムリなんですか?


> メール送信(OUTLOOK又はOE)したい。

Outlook なら、オートメーション機能を使うことになると思いますが、Office2000 SP3以降?だと、
セキュリティ関係で、メールの送信確認メッセージが表示されるみたいです。

[ACC2002] オートメーションを使用して Access から Outlook を介して メッセージを送信する方法
http://support.microsoft.com/default.aspx?scid=k …


> チェックボックスを利用して、チェックを入れたアドレス(又は人名)に対して
> メール送信を行いたいと思います。

メール送信部分以外は、Accessの一般機能でできますよね。
帳票形式のフォームで、チェックボックスを使い、送信したい人を選択すれば
いいです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
BDの共有ですが、異なる場所での共有が必要なので、メールで連絡(共有)したいと思っています。(WANの環境が無いので。。。)

ご紹介頂いた、オートメーションでの送信をトライしてみます。

ありがとうございました。

お礼日時:2005/04/01 12:30

では問題を分解してみましょ~。



1.メールアドレス一覧を取得:Recordsetで一発。
2.チェックボックスを複数個用意:Accessはコントロールの動的ロードが出来たかどうかは覚えてないが、数が固定で良いなら必要なだけチェックボックスを置いておいてあげよう。
3.メール送信:これはどんなライブラリを使うかによる。BASP21やMAPI、使い方はそれぞれの説明を参照して欲しい。

そんなに難しい事では無さそうやね。
気になるのはクレーム内容(レポート)というところだが、これはAccessのReportをメールで送りたいという事だろうか? そうなら一度PDFなどに変換してから添付するなどの措置が必要になる。
    • good
    • 0
この回答へのお礼

早速のアドバイス、ありがとうございます。
ご教示頂いた内容を調べて、トライしてみます。

「レポート」については、「Report」そのものでなくても、その内容を送信したいと思っています。目的は、クレームの内容を、関係先にメールで伝えることなので。。

いずれにしても、もう少し頑張ってみます。
ありがとうございました。

お礼日時:2005/04/01 12:24

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A