Показать сообщение отдельно
Старый 07.11.2012, 01:28   #1  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Вычисления в таблицах
В запросах существует удобная операция суммирования значений полей в одной колонке разных записей таблицы.
Например, легко и удобно подсчитать баланс по проводкам за период.

Но, вот с тем, чтобы, например, сложить значения полей в двух разных столбцах и результат положить в поле в третьем столбце, я столкнулся с проблемами.

В хелпе есть краткое упоминание, что в Аксапте групповые операции можно сделать по одному столбцу, но нельзя по полям по горизонтали таблицы.

Это довольно странно, потому что даже в Аксессе в графическом конструкторе запросов можно создать новое поле в строке, вычисляемое по значениям других полей в горизонтали.

В общем, стал я искать способ как-нибудь извратиться и использовать для обозначенной цели, например, View, Query, Temporary Table...
Неа, словно все сделано для того, чтобы предотвратить данную операцию.

С помощью формы такое можно сделать. Data Source формы позволяет добавить еще одно поле, не привязанное к таблице, которая является источником для Data Source и потом в методе дата-сорса вычислить значения и подставить их в нужное поле. Причем, ссылаться при вычислениях нужно на имя дата-сорса как на имя таблицы. При этом строки временной таблицы станут видны в форме.
Но во View или Query такое сделать невозможно.

View не позволяет создавать поле, независимое от таблицы-источника.
Query, - то же самое.

И вообще, про инструментарий для работы с запросами в руководствах не написано ничего, кроме различных вариантов объединения таблиц.

Я чего-то не понимаю или то, с чем я столкнулся, действительно, проблема в Аксапте?