logo
logo
CFVJT GHJCNJT/// Тьфу черт! Самое простое... [ЭхмПлорер 06/03/2002 15:49]
Представим, что в таблице "операции" появляется дополнительное поле "ParentRecordID" - это ЕДИНСТВЕННОЕ изменение в структуре данных. Операции можно вводить двумя путями - орально и ваг... Тьфу... В Ленточной форме и в Диалоговой форме. Введя операцию со всеми атрибутами в диалоговой (как сейчас) мы можем вызвать ленточную (или это может быть ленточная субформа), в которой будет всего два (например)поля "наименование" и "цена". все остальные поля таблицы заполняются данными из диалоговой - вызывающей формы... Из её-ж берется и "ParentRecordID"
Все.
В списке операций присутствуют только записи у которых "ParentRecordID" = NULL
 
Для них и вызывается "диалоговая форма" из нее ток можно вызвать ленточную. Токим образом вложения ограничиваются одним уровнем. Можгно добавить запись в уровень, но нельзя добавить уровень к записи у которой есть "ParentRecordID" (<> NULL)
 
Если извращаться и придираться - то общие данные в подчиненную запись вносятся из родительской, а суммирующие (Сумма расхода) пересчитываются из подчиненных записей (цена или стоимость) в родительскую
 
Dervish: Не так всё просто. Если бы дело оканчивалось только вводом операции и её хранением. А графики (и в будущем отчёты)? Да и простой трюк с ParentID тоже, на самом деле не очень проходит... Так уж устроен сейчас Cash.