0

私のフォームの機能は、ユーザーが別のユーザーにタスクを割り当てられるようにすることです。これは正常に機能します。ユーザーは、アクセスDBにリンクされているコンボボックスを介して、タスクを割り当てたい人を選択します。私は現在、コンボボックスからその選択されたユーザーの値を取得できる機能を実装しようとしています(IDを一致させることにより) DB 内の ID へのコンボボックスを作成し、その行から電子メールを見つけて、ユーザーが [割り当て] をクリックしたときにポップアップする Outlook 電子メール メッセージにそれを挿入できます (Outlook コードは正常に動作し、プルしていないだけです)。コンボボックスの値なので、クリックするとOutlookの新しいメールが表示されますが、「To」フィールドは空です。Outlookコードに問題がないことを確認するために、そのフィールドに割り当てている変数を出力しようとしましたそれでも値は返されません)。

これが機能しないコードのセクションです....

Dim OutApp As Object
Dim OutMail As Object
Dim EmailSubject As String
Dim EmailSendTo As String
Dim MailBody As String
Dim db As DAO.Database, rs As DAO.Recordset
Dim s As String
Dim sqlStatement As String

Combo2.SetFocus

Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT tblUsers.Email FROM tblUsers WHERE tblUsers.UserID = 'Combo2.Text ")

Combo2 はコンボボックスの名前です

4

3 に答える 3

0

そうかも?

Set rs = db.OpenRecordset("SELECT tblUsers.Email FROM tblUsers WHERE tblUsers.UserID = " & Combo2.SelectedItem.ToString())
于 2013-10-28T11:30:28.007 に答える
0

これを試してください:

あなたのユーザーIDがTextこれを試してみてください:

Set rs = db.OpenRecordset("SELECT tblUsers.Email FROM tblUsers WHERE tblUsers.UserID = '" & Combo2.Text & "'")

ただし、UserID がnumericこれを試してください:

Set rs = db.OpenRecordset("SELECT tblUsers.Email FROM tblUsers WHERE tblUsers.UserID = " & Combo2.Text)
于 2013-10-28T14:17:02.273 に答える
0

Access がどのように機能するのか完全には理解していないので、これが間違っていたら申し訳ありません。これは、Access で行う方法です。

Dim OutApp As Object
Dim OutMail As Object
Dim EmailSubject As String
Dim EmailSendTo As String
Dim MailBody As String
Dim db As DAO.Database, rs As DAO.Recordset
Dim EmailTo as String
Dim s As String
Dim sqlStatement As String

Combo2.SetFocus

Set db = CurrentDb
EmailTo = DLookup ("Email", "tblUsers", "tblUsers.UserID = '" & Combo2.Text & "'")

UserID が INT の場合、最後の行を次のように変更します。

EmailTo = DLookup ("Email", "tblUsers", "tblUsers.UserID = " & Combo2.Text & "")

ところで、Edper のソリューションは「何も検出されなかった」とおっしゃいました。そのシナリオでは、「rs」が実際の値を持たないことを知っていますよね? ただし、rs("Email") はそうするので、追加した場合:

EmailSendTo = rs("Email")

彼の SQL 文字列の後、必要なものが得られる可能性があります。

于 2013-10-28T19:07:16.320 に答える