![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
1147 |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 205 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
В столбце А DBGrid содержатся цифры. Нужно чтобы например в label1 отображалась сумма всех цифр столбца. В данном случае, как на рисунке, сумма будет равна 17. Как сделать чтобы цикл не пробегал по таблице при каждом изменении суммы, и в каком событии?
procedure TForm5.AdoTable1AfterPost(DataSet: TDataSet); Может быть можно использовать вычисляемое поле DBGrid? Сообщение отредактировано: 1147 - 23.11.2009 18:26 Эскизы прикрепленных изображений ![]() |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Нет, вот здесь тебе Calculated Field точно не поможет. Потому что тебе надо находить сумму в столбце, а не выполнять какие-то действия в строке Грида. Лучший вариант - это использовать Access-овские возможности через TQuery (использовать тот же Sum), или так, как ты делаешь (это - худший вариант).
AdoQuery можно задействовать вот так, например: with ADOQuerySum doТогда Access будет делать сам то, что сейчас делаешь ты. |
1147 |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 205 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
кроме этого кода и AdoQuery больше ничего не требуется? ADOQuerySum нужно объявить как integer?
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата ADOQuerySum нужно объявить как integer? С чего бы? ADOQuerySum - это название компонента типа TADOQuery. Я просто добавил на форму TADOQuery и на нажатие кнопки (для теста) - вышеприведенный код. Все работает. |
1147 |
![]()
Сообщение
#5
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 205 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
У меня подчеркивается with-declaration expected but WITH found, Undeclared identifier 'SQL' (Clear также подчеркнута), Open тоже Undeclared identifier, хотя я также компонент TADOTable находящийся в dbGo, помещаю на форму, а на кнопку-код.
Connection и DataSource AdoQuery задавать не нужно? В любом случае это ничего не меняет.. Может чтото еще необходимо сделать чем просто добавить TADOQuery и код на кнопку? Ошибка ведь из-за чего то возникает.. Сообщение отредактировано: 1147 - 23.11.2009 21:37 Эскизы прикрепленных изображений ![]() |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
|
1147 |
![]()
Сообщение
#7
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 205 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
теперь ясно
![]() Сообщение отредактировано: 1147 - 23.11.2009 22:34 |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
Цитата Есть ли какой-нибудь способ исправить ее, не прибегая к переименованию столбца? Есть. Записать всю Query в Access, и вызывать из Дельфи, скажем, связав результат выполнения Query с DBText-ом. Если сможешь ОБНОВЛЯТЬ результаты. Мне не удалось. Вот тебе еще одно "преимущество" использования нестандартных возможностей Access-а. Попользовался? Получи теперь по-полной невозможность добавлять функционал. Не использовал бы дефис - все было бы в порядке. |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Цитата Есть ли какой-нибудь способ исправить ее, не прибегая к переименованию столбца? Нашелся способ:with ADOQuerySum do(обрати внимание, название поля с дефисом или пробелом берется в квадратные скобки) |
![]() ![]() |
![]() |
Текстовая версия | 8.07.2025 18:47 |