|
14 Кб. |
|
| Таблица Table1: Qty (кол-во), Price (цена).
На основе таблицы создана форма Form1 типа Лист Данных с полями: Qty, Price, Amount=Qty*Price.
Хочу, чтобы снизу подсчитывались итоги для Qty и Amount.
Вкладка Home - Totals. В появившейся строке Total для Qty выбираю Sum, а вот для поля Amount варианты итогов только None и Count. Варианта Sum нет. Как решить задачу?
Приложил пример БД в формате MSA2007. | |
|
| |
|
|
|
| В качестве источника данных для формы использовать не таблицу, а
SELECT Table1.ID, Table1.Qty, Table1.Price, [Qty]*[Price] AS Сумма FROM Table1;
|
| |
|
| |
|
|
|
| Точно. И почему я вбил себе в голову, что записи, выводимые запросом, нельзя редактировать? | |
|
| |
|
21 Кб. |
|
| Вот еще прикол: завел в той же Table1 еще одно поле Weight типа single.
Создал запрос на основе этой таблицы.
Записал в поле Weight значение 20,2.
Внизу в строке Total суммирую поле Weight, он мне выдает: 20,2000007629395.
Это что? Погрешность типа single?
Меняю на double, выдает то же самое: 20,2000007629395.
Пример БД приложил. | |
|
| |
|
|
|
| Огранич количество выводимых знаков после запятой до 2 | |
|
| |
|
|
|
| Про форматирование понятно. Интересно почему так получается, что водишь 20,2 а получаешь 20 c 13 знаками после запятой.
Если умножить 0,0000007629395 на 100 тысяч (записей или например ящиков), то получаем ощутимую погрешность: 0,07629395.
Наверно, я для поля вес выберу тип Currency.
Насчет Double - проверил еще раз, прописал число 20,2 заново. DOuble выдает нормальные результаты - пишешь 20,2 - в строке Итоги отображается 20,2 (форматирование не задано). Пишешь 20,201 - тоже самое в Итогах.
Что посоветуете? Какой тип данных использовать для веса? Double или Currency?
Час, помогай! Я знаю, ты с этим вопросом сталкивался :) | |
|
| |
|
|
|
| Почитай про округление в аксес.
http://hiprog.com/ - Поиск
Осoбенно забавна вот эта ссылка http://hiprog.com/index.php?option=com_content&task=view&id=40 - проблема та же, а решение, видимо, потерялось в анналах hiprog | |
|
| |
|
|
|
| Что-то я туплю. Все-таки вопрос остается прежним: как в форме получить снизу итоговую сумму для вычисляемого поля? В запросе можно выбрать итог Sum. А мне надо именно форму, потому я хочу вносить в таблицу новые значения (кол-во, цена) и сразу видеть результат их перемножения (кол-во*цена) и внизу в строке Total суммарную стоимость. Ну почему в форме нельзя выбрать Sum для вычисляемого поля, а только Count? Такое впечатление, что акс считает это поле текстовым. | |
|
| |
|
46 Кб. |
|
| Кто сказал что нельзя. Можно
=sum(...) | |
|
| |
|
17 Кб. |
|
| Судя по всему Вы выводите форму в режиме таблицы, где в последней строчке желаете получить Итоги. ==>
Запрос при этом делать не обязательно. | |
|
| |
|
|
|
| Форма - ленточная (так, Станислав?) и никаких запросов! | |
|
| |
|
|
|
|
В ленточной форме нельзя сделать
Вкладка Home - Totals. В появившейся строке Total для Qty выбираю Sum ...
|
Ну хочет он так!!! | |
|
| |
|
21 Кб. |
|
| Все. Сделал. Посмотрел пример в Майкрософтовской базе Northwind: форма Order Details, субформа Order Subform for Order Details. Там как раз сделано так как я хочу.
Сделал так: форма вида Datasheet, источник данных - запрос (все поля из таблицы + вычисляемое поле Amount=Qty * Price). Снизу итоги - сумма для полей Qty и Amount.
Ленточную субформу пробовал. В примечание формы добавляешь поле Amount = Sum (Qty * Price). Работает, но т.к. Amount находится в примечании формы, то между записями субформы и полем Amount получается большой пустой промежуток. Как его убрать - не знаю. | |
|
| |