22.06.2006, 13:53 | #1 |
Участник
|
Установка условия ИЛИ (OR) в Query
Еcmь некий метод Query:
public Query initQuery() { queryBuildDataSource qBDS; queryBuildRange qBRange; ; // создаём объект динамического запроса query = new Query(); //определяем источник данных qBDS = query.addDataSource(tablenum(RAssetMoveHist)); qBRangedat = qBDS.addRange(fieldnum(RAssetMoveHist, ChangeDate)); qBDS = qBDS.addDataSource(tablenum(RAssetTable)); //устанавливаем связь qBDS.addLink(fieldnum(RAssetMoveHist, AccountNum),fieldnum(RAssetTable, AccountNum)); // определяем поле-критерий qBDS.addRange(fieldnum(RAssetTable, HB_AClassCode_OS)); qBRange = qBDS.addRange(fieldnum(RAssetTable,AssetType)); qBRange.value(queryvalue(RassetType::Smallvalueable)); qBDS = query.dataSourceNo(1); INFO(qBDS.toString()); Return query; } Он создаёт запрос вида: SELECT * FROM RAssetMoveHist JOIN * FROM RAssetTable WHERE RAssetMoveHist.AccountNum = RAssetTable.AccountNum AND ((AssetType = МБП)) Вопрос: как программно сформировать Query вида: SELECT * FROM RAssetMoveHist JOIN * FROM RAssetTable WHERE RAssetMoveHist.AccountNum = RAssetTable.AccountNum AND (AssetType = МБП)) AND (RAssetMoveHist.OldEmployee = RAssetTable.Responsible OR RAssetMoveHist.NewEmployee = RAssetTable.Responsible) Поясню: вся проблема в условии OR Спасибо! |
|