0

メールが満たさなければならない条件をリストした SQL データベースがあります。

メールを受信するたびにデータベースが検索され、いずれかのレコードの条件が満たされた場合、そのメールに対して別のサブが呼び出されます。どの Sub を実行するかは、データベースでも定義されています。

すべて正常に動作しますが、Sub を呼び出すことができません。

Sub automatik_sql() 
'VERWEIS auf ActiveX Data Objects 6.1 Library notwendig'
Dim olApp As Outlook.Application
Dim olitem As Outlook.MailItem
Set olApp = Outlook.Application
Set olitem = Application.ActiveInspector.CurrentItem

Dim con As ADODB.connection
Dim rec As ADODB.recordset
Dim MySQL As String
Dim ausloeser As Boolean
ausloeser = True
MySQL = "SELECT MA_Index, beding_body, beding_subj, aktion FROM Mail_Automatik where (empfaenger = '" & olitem.To & "' and absender ='" & olitem.SenderEmailAddress & "')"
Set con = New ADODB.connection
con.Open "Provider=sqloledb; Data Source=meinedaten; Initial Catalog=STAMMDATEN; INTEGRATED SECURITY=sspi;"
Set rec = con.Execute(MySQL)
While Not rec.EOF
If Not IsNull(rec.Fields("beding_body").Value) Then
  If InStr(olitem.Body, rec.Fields("beding_body").Value) = 0 Then ausloeser = False
End If
If Not IsNull(rec.Fields("beding_subj").Value) Then
    If InStr(olitem.Subject, rec.Fields("beding_subj").Value) = 0 Then ausloeser = False
End If

そして今、私は問題を抱えています:

If ausloeser = True Then Call rec.Fields("aktion")
rec.movenext
Wend
End Sub

私はドイツ語のマシンで作業しているため、ドイツ語でのみエラー (サブの開始時にポップアップ) が発生します。

コンパイルに失敗しました: 「コンパイルに失敗しました: プロパティの不正使用」

誰でも何か考えがありますか?

4

1 に答える 1

0

If ausloeser = True Then Call rec.Fields(aktion)

RecordSet.Fields はプロパティであり、レコードセット内のフィールドのコレクションです。これはメソッドではないので、ここで使用されているため呼び出すことはできません。

意図は、他のメソッドを呼び出して、aktionフィールドの内容を渡すことだと思いますか? もしそうなら、構文は次のようになりますThen Call othermethod(rec.Fields("aktion"))

于 2013-09-09T11:42:18.590 に答える