2017-05-18 1 views
0

DoCmd.ApplyFilterにIfステートメントを含めることはできますか?フォームにアクセスする場合DoCmd.ApplyFilterとIf Statemnent

私は、カテゴリ列EmployeeTypeID(1(フィールド)、2(オフィス))とDepartmentID(1(新規販売)、2(サービス)、3(その他))を含む連続フォームを持っています。フィールドのすべての部門を表示している間だけ、Office用のその他のレコードを表示するようにDepartmentIDをフィルタリングできるようにしたいと考えています。

私が達成したいものですすべて

DoCmd.AppplyFilter, "IF(dbo_Stat.EmployeeTypeID)=2 Then (dbo_Stat.DepartmentID)=3 

をフィルタリングするために働く

DoCmd.ApplyFilter , "(dbo_Stat.DepartmentID)=3" 

、しかし構文はないと思えます。私がしようとしていることは可能なのでしょうか?

答えて

1

それは次のとおりです。

DoCmd.AppplyFilter, "dbo_Stat.DepartmentID = IIf(dbo_Stat.EmployeeTypeID = 2, 3, dbo_Stat.DepartmentID)" 
+0

パーフェクト、感謝: "すべてに一致" するため

DoCmd.AppplyFilter, "dbo_Stat.DepartmentID = IIf(dbo_Stat.EmployeeTypeID = 2, 3, SomeOtherValueThan3)" 

、古いトリックを試みることができます! "Else"セクションにワイルドカードを使用する方法はありますか? DoCmd.AppplyFilter、 "dbo_Stat.DepartmentID = IIf(dbo_Stat.EmployeeTypeID = 2、3、" * ")"を試して、型の不一致がありました。問題のフィールドは細かいです。おそらく –

+0

。編集済みの回答を参照してください。 – Gustav

関連する問題