2016-07-24 9 views
0

コンボボックスの値に応じて、特定のテンプレートに基づいて新しい電子メールを作成するAccessサブフォームにボタンがあります。これらのテンプレートのほとんどは既に既存のTo:電子メールアドレスを持っています。 これは、ほとんどの場合、サブフォームの親フォームの電子メールアドレスに置き換えなければなりません(現在のコードで実行されています)が、コンボボックスの値が 'x'または 'y'メインフォームと第2フォームにフィールドがリンクされている別のフォームに別の電子メールを挿入する必要があります。私がこれまで持って コード:vbaで条件付きでメール受信者の電子メールアドレスを変更する

If Me![cboEmail].Value = "Your patient Initial" Then 
oMail.To = Nz(DLookup("[strEmail]", "tblAddress", "[longDoctorID] = " & Me.Parent!longDoctorID)) 
ElseIf Me![cboEmail].Value = "Follow Up of your patient" Then 
oMail.To = Nz(DLookup("[strEmail]", "tblAddress", "[longDoctorID] = " & Me.Parent!longDoctorID)) 
Else 
oMail.To = Me.Parent![strEmailAddress].Value 
End If 

は何を動作しませんが、値が「あなたの患者の初期」であるか、最初の2つの条件であり、それは「あなたの患者のフォローアップ」されている場合 どれでも役立ちますありがとう!

+0

正確には*動作しません*? – Andre

答えて

0
[longDoctorID] = " & Me.Parent!longDoctorID) 

これは文字列か整数か。文字列の場合は、2つの単一文字を含める必要があります。引用符

空の値を指定していない場合、Nzの理由がわかりません。メールを送信しようとしています。

Debug.print Me![cboEmail].Value 

何があなたに与えますか?

+0

@Andre&Dave、あなたの答えをありがとう。 [longDoctorID] = "&Me.Parent!longDoctorIDは整数を指定します 私はDIYモードのエンドユーザーであり、必要に応じてデータベースを定期的に機能更新しています。患者の初期またはフォローアップが選択されている場合、選択したテンプレートに基づく電子メールが開きますが、To:フィールドにはテンプレートのデフォルトの電子メールアドレスが含まれていますが、その他の値の場合はTo:現在のレコード。 –

0

ごめんなさい、何がうまくいかないのか疑問に尋ねましたか?それは作業コードだったので!私がDebug.Print行を入れると、元のテーブルに値がなく、デフォルトの電子メールアドレスが与えられていたため、空の値が返されました。 あなたの時間を使い果たして申し訳ありません。元のコードが動作します。問題を調べてくれてありがとう。

関連する問題