私は、カスタムクエリを持つビューから動作する問い合わせフォームを持っています。このフォームにはフィルタがあり、これをフォームのビューのexecuteQueryメソッドで使用して、さまざまなフィールドに範囲を追加します。他のフィールドに基づいてフィルタを追加するフォームでクエリ文字列を変更します。
新しい要件は、クエリの2つのフィールドに基づいてフィルタリングすることです。 例:PurchLineテーブルは、クエリ内のテーブルの1つです。
新しい範囲が必要とされている:
if PurchLine.ItemId != “” then
filter by PurchLine.PurchStatus == None
しかし、アイテムが特定の値を持っている場合、
then filter by PurchStatus == Received.
(OK、これは単なる一例です!)。
アイテムフィールドに基づいて、PurchStatusに範囲を追加するためにクエリを変更できません。
クエリの文字列値がどのように見えるかはわかりますが、クエリ文字列を変更するにはどうすればよいですか?私は、クエリを変更するにはどうすればよい
AND (((ItemId = N'') AND (PurchStatus = 0)) OR ((ItemId = N'XXX123') AND (PurchStatus = 2)))
:
SELECT FIRSTFAST * FROM OpenPOLinesView(OpenPOLinesView) WHERE ((CreatedDateTime<='2016-11-30T23:59:59')) AND ((VendAccount = N'S000001048'))
が、私は最後にこれを追加したい:(私はのexecuteQueryでスーパーにブレークポイント場合)
は現在のクエリ文字列は次のようになりますコード内の文字列?
ありがとうございました!ステータスの範囲を追加し、ItemIdフィールドを確認することができました。 – Celeste