0

ACCESS SQLクエリの動作が異なる理由が少しわかりません...NOW()パラメータを使用してSELECTクエリを実行すると、正しい結果が得られます。しかし、今日の日付でTempVar!Dateを使用すると、0が返されます...クエリは次のようになります。

これは機能します:

[アカウントトランザクション]を選択します。、カテゴリ。、IIf([Categories]。[Income / Expense] = "Expense"、-([Account Transactions]![Transaction Amount])、[Account Transactions]![Transaction Amount])AS [Actual Amount] FROM [Account Transactions] LEFTJOINカテゴリON[アカウントトランザクション].Category= Categorys.ID WHERE month([アカウントトランザクション]。[エントリ日])= month(Now());

これは機能しません:

[アカウントトランザクション]を選択します。、カテゴリ。、IIf([Categories]。[Income / Expense] = "Expense"、-([Account Transactions]![Transaction Amount])、[Account Transactions]![Transaction Amount])AS [Actual Amount] FROM [Account Transactions] LEFTJOINカテゴリーON[アカウントトランザクション].Category= Categorys.ID WHERE month([アカウントトランザクション]。[エントリ日付])= month([TempVars]![日付]);

私は2番目のものが必要です-私の変数が機能するために。bあなたの助けは大いに感謝されます。tempvar値をテストしましたが、問題ありません。

4

1 に答える 1

0

これを試して:

SELECT [Account Transactions].*, Categories.*, IIf([Categories].[Income/Expense]="Expense",-([Account Transactions]![Transaction Amount]),[Account Transactions]![Transaction Amount]) AS [Actual Amount]
FROM [Account Transactions]
LEFT JOIN Categories ON [Account Transactions].Category = Categories.ID
WHERE month([Account Transactions].[Entry Date]) = month([TempVars]![Date]);

余分なスペースをいくつか削除し、必要に応じてアスタリスクを追加しました。

TempVarsの値は、MSAccessの現在開いているセッションでのみ持続します。?Application.TempVars("Date").ValueVBAウィンドウに入ると何が得られますか?

于 2013-03-18T15:21:48.947 に答える