Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2015, 20:57   #21
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

спасибо) пошел искать эти вычисляемые поля)

где тут это надо вводить? прям в графе Y?
Изображения
Тип файла: jpg Безымянный.jpg (43.6 Кб, 141 просмотров)

Последний раз редактировалось Stilet; 25.08.2015 в 21:08.
Ernest027 вне форума Ответить с цитированием
Старый 25.08.2015, 21:08   #22
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А как ты до этого настраивал DBChart? Точно так же и сейчас.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.08.2015, 21:17   #23
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Ось х указал поле f, а ось y поле d. Но новое поле называется d1,и dbchart ругается что его нет

Код:
with ADOQuery2 do
begin
  SQL.Clear;
  SQL.Add('insert into Vibration2 select f,a,v,d from Vibration');
  ExecSQL;
  SQL.Add('select * from Vibration2 order by f');
  Open;
end;
каждую строку вставляет дважды, как сделать чтобы правильно вставлял?

ВО! Я в бд создал еще три поля: a1,v1,d1. И теперь при вставке из буфера таблицу в поля a,v,d нужно вставить по условию
Код:
select Vibration.*, case when (select max(d) from Vibration)>999 then d/1000 else d end as MyField from Vibration
полученные значения в a1,v1,d1.
спасибо.
Изображения
Тип файла: jpg Безымянный.jpg (33.1 Кб, 139 просмотров)

Последний раз редактировалось Stilet; 26.08.2015 в 19:38.
Ernest027 вне форума Ответить с цитированием
Старый 26.08.2015, 19:40   #24
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Ось х указал поле f, а ось y поле d. Но новое поле называется d1,и dbchart ругается что его нет
Фуфуфуфуфухххх....
Тебе нужно было:
1) Открыть один раз такой запрос в дизайне
2) Запомнить в ADOQuery список полей (это в его свойстве Fields делается)
3) После уже Чарт будет брать имена полей не из набора, а из запомненого списка.
Ладно. И так сойдет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.08.2015, 20:36   #25
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

я уже ничего не пойму
даже это код не работает
Код:
select Vibration.*, case when (select max(d) from Vibration)>999 then d/1000 else d end as MyField from Vibration
хотя до этого работал.
а по поводу ваших последних советов я вообще в тупике. Посмотрите пожалуйста, что я не так делаю? привел таблицу которую нужно вставить и пример БД (не саму БД) где показана структура. Буду рад помощи.
Спасибо.
Вложения
Тип файла: rar 123.rar (111.8 Кб, 5 просмотров)
Ernest027 вне форума Ответить с цитированием
Старый 27.08.2015, 19:57   #26
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Подскажите где почитать как запоминать поля.
Ernest027 вне форума Ответить с цитированием
Старый 29.08.2015, 10:06   #27
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Stilet, как запомнить поля?
Ernest027 вне форума Ответить с цитированием
Старый 29.08.2015, 11:22   #28
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Учиться смотрю ты не спешишь )
Ладно. Растолкую. В виде Манги.
Итак
1) Кидаешь на форму TDBChart, TADOQuery
2) Настраиваешь подключение к базе. Компоненты связываешь.
3) В Акцессе самом создаешь такой запрос, и даешь ему имя "Запрос1":
01.jpg
Сразу предупреждаю: Запрос писал с потолка, просто акцесс плохо помню.

4) Далее в Делфи открываешь свойство SQL для компонента ADOQuery прямо в дизайне в Инспекторе Объектов. Пишешь:
02.jpg

5) Тут же в инспекторе выставляешь свойство Active в True, чтоб открыть запрос предварительно.

6) Настраиваешь DBChart. Поскольку запрос уже открыт, то поля в нем появятся в DBChart без проблем:
03.jpg
Обрати внимание - В списке полей появилось вычисляемое поле d2, которое в запросе в Акцессе прописано с элементами условия, как тебе надо.

7) Тут же в инспекторе выставляешь свойство Active в False, чтоб закрыть тестовый наш запрос.

Фсе! Больше ничего не надо. Деактивируешь ADOQuery, и в коде уже можно будет писать:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.Open
end;
Т.е. Открывать этот запрос. Поскольку в дизайне все поля уже настроены (взяты из предварительно "протестированного" запроса) будет у тебя и график и таблица с нужными полями.

Так понятнее?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.08.2015, 17:15   #29
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Спасибо Вам огромное. Делаю как Вы сказали, но БД sql server у меня.
В sql server выбираю свою таблицу и нажимаю создать запрос.
Код:
select Vibration.*, case when (select max (d) from Vibration)>999 and (select max (d) from Vibration)<999999 then d/1000 
when (select max (d) from Vibration)>999999 and (select max (d) from Vibration)<999999999 then d/1000000
when (select max (d) from Vibration)>999999999 then d/1000000000
else d end as d1,
case when (select max (a) from Vibration)>999 and (select max (a) from Vibration)<999999 then a/1000
when (select max (a) from Vibration)>999999 and (select max (a) from Vibration)<999999999 then a/1000000
when (select max (a) from Vibration)>999999999 then a/1000000000
else a end as a1 from Vibration order by f
обзываю его Запрос1.
в adoquery пишу
Код:
select * from [Запрос1]
при попытке свойство active перевести в true пишет недопустимое имя объекта "Запрос1"
Ernest027 вне форума Ответить с цитированием
Старый 30.08.2015, 17:31   #30
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ах ты... Объегорил. А я всерьез поверил что приложенная БД слепок настоящей...
А раз так, вот тебе в качестве мести: https://msdn.microsoft.com/ru-ru/lib...ql.120%29.aspx
Удачного разбора полетов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование единиц измерения Zirat Microsoft Office Excel 9 29.11.2022 21:14
дана строка состоящая из групп нулей и единиц. Подсчитать количества единиц в группах с нечетным количеством символов (на Delphi) ArturBattalov Помощь студентам 1 06.10.2013 16:16
Найти байтс наибольшим числом единиц и найти байт с наибольшим чилом нулей. Найти разность число единиц м Beren42 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 14.12.2010 17:44
Конвертер денежных единиц vmilyoshin Помощь студентам 6 16.04.2010 11:07
Найти сумма единиц Bayram_662 Паскаль, Turbo Pascal, PascalABC.NET 6 22.10.2009 22:11