2016-05-03 14 views
2

初めての投稿...私はVBAにはかなり新しく、現在はカチカチとピンチと修正の段階にありますが、これは長くはないと思います。Query and VBA経由でメールを送信する

私は現在、Accessで遊んでおり、レッスンが必要なときに教師がアプリケーションをログするデータベースを開発しようとしています(理想的にはSQLでこれをやっていますが、現在できません)。

Accessのデータベースとフォームはかなりありますが、アプリケーションが作成されたときにデータベースからスタッフの特定のメンバーに通知したいと思います。スタッフの選択は、コンボボックスから彼/彼女を選択することによって行われ、クエリによって駆動される。質問の理由は、特定のスタッフにこの通知を受け取ることだけです。本質的には、他のスタッフを管理する人です。

スタッフのメンバーが選択されると、私は基本的にアプリケーションを作成している人がボタンをクリックして、コンボボックスで選択された人に電子メールを送信するようにします。私は何かを一緒にVBAに入れようとしましたが、私は何かをしてから何もしないOutlookのちらつきを得ます。

これは私がその後、スタッフテーブルに電子メールアドレスを見つけるために、コンボボックスで選択されたスタッフを使用してのDLookupで、これまで持っているものです。

Private Sub Command788_Click() 
Dim Email_Note As Variant 
Email_Note = DLookup("Email", "Staff", Forms![Cover Application Form]!Combo767) 
Dim olLook As Outlook.Application 
Dim olNewEmail As Outlook.CreateItem 
Dim StrContactEmail As String 
Set olLook = New Outlook.Application 
Set olNewEmail = olLook.CreateItem(olMailItem) 
strEmailSubject = "Application for Cover: Line Manager Notification" 
strEmailText = "Something in here..." 
StrContactEmail = "Email_Note" 
olNewEmail.Display 
End Sub 
+2

olNewEmail.Send – serakfalcon

+0

ありがとうございます - 私はその変更を行います。コマンドボタンをクリックして応答が表示されなくなりました。確かに私は昨日やった。残りの部分はどう思いますか? –

+0

私はコードにブレークポイントを入れて、olLookを調べる必要があると思います。 – serakfalcon

答えて

3

あなたは、Outlookのライブラリが参照されていることを確認する必要がありますVBAエディタの[ツール]タブにあります。また、ボディとサブジェクトのための文字列を作成したものの、それらを宣言していないように見えます。文字列変数として宣言するのではなく、以下に示すようにoutlook. bodyなどを適切な文字列に設定するだけです。

変数として宣言すると、email_noteを引用符でカプセル化する必要はありません。私はそれがメールアドレスだと思った?

strContactEmailは不要になりましたが、どこで使用されているのか分かりません。

Private Sub Command788_Click() 
Dim Email_Note As Variant 
Email_Note = DLookup("Email", "Staff", Forms![Cover Application Form]!Combo767) 
Dim olLook As Outlook.Application 
Dim olNewEmail As Outlook.mailItem 
'Dim StrContactEmail As String 
Set olLook = New Outlook.Application 
Set olNewEmail = olLook.CreateItem(olMailItem) 
    olNewEmail.Subject="Application for Cover: Line Manager Notification" 
    olNewEmail.Body = "Something in here..." 
    olNewEmail.To = email_note 
    olNewEmail.Send 
Set olNewEmail = Nothing 
Set olLook = Nothing 
End Sub 
+0

うわあーーー、今これをよく見せてあげましょう。ありがとう! –

+0

はい - Email_NoteはDLookupによって返された電子メールアドレスになります。とにかくそれがアイデアです。 –

+0

また、 'Dim olNewEmail As Outlook.CreateItem'は' Outlook.MailItem'でなければなりません。 :) – Andre

関連する問題