![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 28.11.2017
Сообщений: 9
|
![]()
Приветствую! В бд access лежит таблица с полем mark, по которому нужно посчитать среднее значение
Вот код: ADOQuery1.Active := false; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('Select avg(Mark) as sr from Certificate'); ADOQuery1.Active := true; Хотелось бы записать данное среднее значение в edit , не мог бы кто-нибудь подсказать, как? Ошибок вроде не выдает, но есть сомнения, что среднее значение вообще не считает... Заранее спасибо, сильно не пинайте |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]() Код:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 28.11.2017
Сообщений: 9
|
![]()
Не работает... Нет у adoquery свойства fieldbyname
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Есть
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 28.11.2017
Сообщений: 9
|
![]()
Если присваивать значение из sr в переменную или edit ,то там Почему то нет fieldbyname
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 28.11.2017
Сообщений: 9
|
![]()
Вот полный код:
With Form1 do Begin ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add ('Select avg (Mark) as sr from Certificate'); Edit1.Text := ADOQuery1.FieldByName ('sr').AsString; ADOQuery1.ExecSQL; End; Где то косяк видимо |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]()
Полным кодом это трудно назвать. Конкретный пример:
Откуда происходит обращение к Form1? Если из её собственной функции - то тут этот with Form1 лишний. Если из другой формы - проверьте, доступна ли Form1? Подключена ли к этой форме? А вообще - программа хотя бы запускается? Если нет - что говорит компилятор? Правильно будет работать, если вместо ExecSQL (который вообще-то применяется для запуска команд - INSERT, DELETE, UPDATE - но никак не для селектов) использовать Open. И вызывать его нужно раньше, чем обращаетесь к полю: Код:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Последний раз редактировалось Sciv; 30.11.2017 в 11:22. |
![]() |
![]() |
![]() |
#8 |
Регистрация: 28.11.2017
Сообщений: 9
|
![]()
Программа запускается, выдает ошибку is not a valid integer value , учел ваши поправки на счет open, но итог тот же. При выборе в adoquery1 fieldbyname его просто нет в открывающейся подсказке.
|
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
эта ошибка не имеет ничего общего к обсуждаемой здесь проблеме.
для того, чтобы в этом убедиться, закомментируйте строчку с Цитата:
|
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 594
|
![]() |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вирус в NodeJS, AVG 2014 | vinniepooh | Безопасность, Шифрование | 7 | 24.07.2016 20:40 |
не работают avg,sum,min,max в delphi!!!!!!!!! | Pilyla | БД в Delphi | 9 | 11.01.2015 20:07 |
AVG Среднее значение | nastena_r_v | БД в Delphi | 4 | 16.11.2012 15:45 |
Вычисление AVG | Karla7 | Microsoft Office Excel | 10 | 27.08.2011 00:58 |
Помогите пожалуйста удалить AVG. | nataffka | Помощь студентам | 1 | 01.02.2009 08:44 |