1

Access 2007 では、次のコードでエラー 2434 が返されます: 入力した式に無効な構文が含まれています。

  If (Eval("DLookUp(""[BaseRate]"",""RATELOOKUP"",""|DatePart(""yyyy"",[TxDate])| & |DatePart(""m"",[TxDate])| = [RATELOOKUP].[PERIOD]"") Is Null")) Then
        ' Checks for Current Base Rate
        Beep
        MsgBox "Interest Rate required for this month", vbExclamation, ""
    End If

エラーは最初の行にあるようです。

4

1 に答える 1

2

与える文字列式内で適切に引用するEval()ことは、非常に困難な場合があります。Eval()コード内で実際に表示されるものは次のとおりです。

DLookUp("[BaseRate]","RATELOOKUP","|DatePart("yyyy",[TxDate])| & |DatePart("m",[TxDate])| = [RATELOOKUP].[PERIOD]") Is Null

を使用する場合は、別のアプローチを検討してください。これにより、評価Eval()を求めているものを正確に確認できます。Eval()

Dim strEval As String
strEval = "your expression here"
Debug.Print strEval ' <- examine the string Eval() receives
' finally ...
If Eval(strEval) ...

ただし、このことは私には複雑すぎるように見えるので、Eval(). 残念ながら、あなたのDLookup 基準の議論は非常に紛らわしく、私は迷子になりました。しかし、IsNull()関数は必要なくてもあなたが望むものを与えるかもしれないと思いますEval():

If IsNull(DLookup("BaseRate","RATELOOKUP", "your Criteria here")) = True Then
于 2012-12-07T05:12:31.783 に答える