사용자 정의 코드를 사용하여 SQL을 구축 할 수 있습니다. 의 당신의 SQL이 순간에 다음과 같습니다 가정 해 봅시다 :
SELECT ThisField, ThatField
FROM Contacts
WHERE ContactId IN @Contacts
하자의 변화 그 SQL 빌드 문자열 표현식 :
="SELECT ThisField, ThatField "
& "FROM Contacts "
& "WHERE ContactId IN @Contacts "
지금 우리가 떨어져 @Contacts
매개 변수를 끌어 의해서만 선택해야합니다을 ContactId
선택한 다섯 이하의 연락처가있는 경우 :
Function ContactsSQL(ByVal parameter As Parameter) AS String
Dim Result As String
Result = ""
If parameter.IsMultiValue Then
If parameter.Count <= 5 Then
Result = "WHERE ContactId IN ("
For i As integer = 0 To parameter.Count-1
Result = Result + CStr(parameter.Value(i)) + ", "
Next
Result = Left(Result, Result.Length - 2) + ") "
End If
End If
Return Result
End Function
이 기능은 사기를 선택하는 SQL WHERE
절을 빌드는 5 개 이하가 선택되었을 경우에만 적용되며, 그렇지 않으면 빈 문자열이 다시 전달됩니다. 이제 우리는 우리의 SQL 표현식에서이 기능을 사용 : 당신이 여기에 Contacts
매개 변수 객체를 전달하는
="SELECT ThisField, ThatField "
& "FROM Contacts "
& Code.ContactsSQL(Parameters!Contacts)
참고 아닌 Value
속성을. 사용자 지정 코드 함수의 Value 속성에 액세스합니다.
Nick 당신은 저장 프로 시저를 사용하여 이것을 할 수 있습니까? – Hiten004
불행히도 CRM 2011 온라인을 사용하고 있으므로 fetch XML을 사용하는 것으로 제한됩니다. 가져 오기 쿼리를보고 싶으십니까? – Nick
필자는 havent이 XML을 가져 오려고 시도했지만 유사한 요구 사항에 대해 Expression을 사용하여 쿼리 정의를 설정했습니다. 이것이 가져 오기 XML 데이터 세트에서 가능합니까? –