Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сумма по подчиненной форме в главной
 
 автор: Olegza   (08.09.2008 в 20:36)   личное сообщение
 
 

Доброго всем времени суток!
Подскажите пожалуйста, как посчитать сумму значений (в столбце) по полю подчиненной формы (вид подч. формы табличный) и вывести её в главной форме.
Пробовал так, в свободное поле в примечании главной формы вводил формулу:
=Sum([Название подчиненной формы].Form![Название поля])
Пишет: "#Ошибка". Причем, если без Sum() - видит - но только первую строчку.
Что делаю неправильно?

  Ответить  
 
 автор: час   (08.09.2008 в 20:42)   личное сообщение
 
 

Попробуй Dsum()
поле1= dsum("[количество]","Табллица")

  Ответить  
 
 автор: OlegZa   (08.09.2008 в 20:45)   личное сообщение
 
 

Нет, не считает - я уже пробовал - читал в форуме. Пишет "введенное выражение содержит функцию с неверным числом аргументов"

  Ответить  
 
 автор: час   (08.09.2008 в 20:48)   личное сообщение
 
 

http://hiprog.com/forum/read.php?id_forum=1&id_theme=3782&page=1

  Ответить  
 
 автор: час   (08.09.2008 в 20:49)   личное сообщение
 
 

msgbox DSum("[поле]";"[таблица]")
а так работает?

  Ответить  
 
 автор: час   (08.09.2008 в 20:51)   личное сообщение
 
 

http://hiprog.com/forum/read.php?id_forum=1&id_theme=3349&page=1

  Ответить  
 
 автор: час   (08.09.2008 в 20:54)   личное сообщение
 
 

msgbox DSum("[поле]";"[таблица]","")
а так ?

  Ответить  
 
 автор: OlegZa   (08.09.2008 в 20:58)   личное сообщение
 
 

И с точкой с запятой тоже не работает - я так уже сам пробовал. Пишет опять "#Ошибка". Может дело всё в том, что форма подчиненная? Я уже и название таблицы пробовал, и название формы (и с Form![]-тоже) - неизменно превосходный результат - "#Ошибка".

  Ответить  
 
 автор: час   (08.09.2008 в 21:01)   личное сообщение
 
 

не в поле пиши , а в коде
скажем просто кнопку пробную нарисуй и на её клик
Msgbox DSum("[поле]";"[таблица]","")

  Ответить  
 
 автор: OlegZa   (08.09.2008 в 21:20)   личное сообщение
 
 

Написал в коде - MsgBox не выскакивает.
Пишет "предыдущая операция прервана пользователем - Run-time error 2001".
Пробовал на кнопку повесить - то же самое.

  Ответить  
 
 автор: Pasat   (08.09.2008 в 21:01)   личное сообщение
 
 

Попробуйте так:
1. В подчиненной форме (имя subForm) в примечаниии создаете поле (имя а1) и в его control source пишете =Sum([myfield]) - получаете сумму столбца
2. В главной форме создаете поле и в его control source пишете =[subForm].Form!a1 - и получаете в этом поле нужное значение из поля а1 подчиненной формы

зы как предлогал коллега через DSUM тоже должно работать

  Ответить  
 
 автор: Lukas   (08.09.2008 в 21:10)   личное сообщение
 
 

Примерно в таком варианте:

=DSum("AmountDocument";"tblOrder";"tblOrder!IDCustomer=" & [IDCustomer])

  Ответить  
 
 автор: OlegZa   (08.09.2008 в 21:28)   личное сообщение
 
 

Всё - заработало! Через доп. поле в примечании подчиненной формы работает отлично!
Парни, всем спасибо большое - с DSum() - будет время разберусь потом.

  Ответить  
 
 автор: Рафаиль   (09.09.2008 в 17:45)   личное сообщение
 
 

А можно было просто написать SQL запрос и получить сумму, но придётся на обновление вешать код обновления поля.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList