![]() |
#17 |
Участник
|
Вась, подскажи. А что даст, если получиться во временной таблице получить нужный recId, через что и как ты потом будешь его использовать?
Я так понимаю вы хотите реализовать механизм driilldown. А recId хотите использовать, как форточку для недостающих данных. Или не так. Как я делал такой механизм: 1) Снимал слепок(данные) с запроса в первую временную таблицу. 2) Группировал требуемые данные из первой временной таблицы, получая вторую. 3) Суммировал итоговые поля во второй, получал третью(Если нужны подитоги). 4) Результаты 2 и 3 выкидывал на элемент ActiveX, похожий на Excel. 5) Когда два раза щёлкаем на строке отчёта открывается форма со стороками из которых была получена данная строка. Как это реализуется в системе: берём запрос из первого пункта, считываем строку на которой сделали drilldown, получаем значения полей по которым у нас была группировка, достраиваем range-ми по ним наш запрос. Берём форму которая будет открываться по drillDown, получаем её первый датасорс formDataSource = formRun.dataSource(); и заменяем её query, нашим formDataSource.query(наш query). Если в 1 пункте данные считываются из одного запроса всё ок, driilldown реализуется нормально, если есть дополнительные find-ы, ифы, начинаются танцы с бубном, которые в результате могут ни к чему не превести. Что вполне логично, чтобы что-то раскрутить, нужно тоже самое перед этим скрутить. Последний раз редактировалось miklenew; 29.06.2008 в 08:08. |
|