2011-05-03 3 views
1

드롭 다운 (Dimesions) 및 문자열 편집 조회 (dimensionValue)가 있습니다. 차원을 선택하면 '분기'와 값이 있다고 가정합니다. 'B001이'나는 지점에 대한 EnumValue는이 3dimensionValue입니다 위의 쿼리에서, dimensions가 EnumValue는 것입니다 다음 쿼리여러 개의 dimesion을 통한 필터링 값

queryRun.query().dataSourceTable(tablenum(LedgerTrans)).addange(fieldId2Ext(fieldNum(LedgerTrans, Dimensions), dimensions)).value(dimensionValue);

으로 결과를 필터링하는 문자열 EDT입니다.

이제 여러 dimensionValues로 필터링하고 싶습니다. 예 : 'B001, B002, B002'등 어떤 쿼리를 수정해야합니까? 친절하게 도와주세요.

답변

2

이 코드를 사용하면 Value StringEdit 컨트롤에 "B001, B002, B002"(따옴표 제외) 만 입력하면됩니다.

내가 같은 범위가 또 다시 추가되지 않을 수 있도록 다음과 같이 코드를 수정하는 방법을 권합니다 그런데

:

SysQuery::findOrCreateRange(queryRun.query().dataSourceTable(tablenum(LedgerTrans)), fieldId2Ext(fieldNum(LedgerTrans, Dimensions), dimensions)).value(dimensionValue); 
+0

덕분 응답을,하지만 난 오류 '인수'를 얻을 _queryBuildDataSource '가 필수 유형과 호환되지 않습니다 .' :( – piku

+0

_queryBuildDataSource 인수는'queryRun.query(). dataSourceTable (tablenum (LedgerTrans))'입니다. 왜 그런 오류가 발생하는지는 모르지만 어쨌든 원래 코드로 "B001, B002, B002"(따옴표 제외)를 입력하여 필터링 할 수 있어야합니다. – 10p

+1

더 읽기 쉬워 야합니다 : 'QueryBuildDataSource qbds = queryRun.query(). dataSourceTable (tablenum (Led gerTrans)); FieldId fieldId = fieldId2Ext (fieldNum (LedgerTrans, Dimensions), dimensions); ; SysQuery :: findOrCreateRange (qbds, fieldId) .value (dimensionValue); ' – 10p

관련 문제