Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
72 / 5 / 4
Регистрация: 18.03.2013
Сообщений: 231

Вывод значений в Grid

05.11.2017, 15:58. Показов 1531. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. помогите пожалуйста правильно вывести значения в Грид. Сейчас у меня есть следующий код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
procedure TGlav.FormActivate(Sender: TObject);
var days, i: integer;
  dat   : string;
  date  : TDate;
begin
  days:=DaysInMonth(MonthYear.Date);   //последний день месяца в DateTimePicker (в uses добавила DateUtils)
  date:= StartOfTheMonth(MonthYear.Date);   //первый день месяца
 
  // Имена в столбце
  DatMod.querChel.Close;
  DatMod.querChel.SQL.Clear;                              //для имен в столбце
  Kalendar.Columns.Clear;                                 //для имен в столбце
  DatMod.querChel.SQL.Add('select ch.Nik,');              //для имен в столбце
  Kalendar.Columns.Add;                                   //для имен в столбце
  Kalendar.Columns[0].FieldName:= 'Nik';                  //для имен в столбце
  Kalendar.Columns[0].Title.Caption:= 'Название';         //для имен в столбце
  Kalendar.Columns[0].Width:= 60;                         //для имен в столбце
 
  DatMod.querChel.SQL.Add('(Select d.Kon_per-d.Nach_per from Deyatelnost as d where ch.Id_cheloveka=d.Id_cheloveka) as kol ,');
  DatMod.querChel.SQL.Add('(Select (isnull(g.Vipoln,0)+isnull(g.Vihod,0)) AS slog from Grafik as g JOIN Deyatelnost as d ON d.Id_graf_deya=g.Id_graf_deya Where ch.Id_cheloveka=d.Id_cheloveka) as dni ,');
  ShowMessage(DatMod.querChel.SQL.Values['kol']);
 
     for i := 1 to days do
      begin
        DatMod.querChel.SQL.Add('(select (case when count(d.Id_deyatelnosti)=0 then '' '' else (CONVERT( CHAR( 20 ), d.Vremya_nach, 108))    end)');
        DatMod.querChel.SQL.Add('from Deyatelnost as d JOIN Grafik as g ON d.Id_graf_deya=g.Id_graf_deya');
        DatMod.querChel.SQL.Add('where ch.Id_cheloveka=d.Id_cheloveka ');
        DatMod.querChel.SQL.Add('and ((CONVERT( CHAR( 20 ), d.Nach_per, 104)<= '''+dateToStr(date)+''') and (CONVERT( CHAR( 20 ), d.Kon_per, 104)>= '''+dateToStr(date)+'''))');
        DatMod.querChel.SQL.Add('group by ch.Id_cheloveka,d.Nach_per,d.Vremya_nach,d.Kolvo_chas_deya)as field'+ IntToStr(i)+',');
        date:= IncDay(date);
        Kalendar.Columns.Add;
        Kalendar.Columns[i].FieldName:= 'field'+IntToStr(i);
        Kalendar.Columns[i].Title.Caption:= IntToStr(i);
        Kalendar.Columns[i].Width:= 50;
      end;
 
DatMod.querChel.SQL.Add('(select count(d.Id_deyatelnosti) from Deyatelnost as d)' );
 
 
  DatMod.querChel.SQL.Add('from Chelovek as ch order by ch.Nik');          //для имен в столбце
 
   DatMod.querChel.SQL.SaveToFile('D:\1.txt');
  DatMod.querChel.Open;                                    //для имен в столбце
 
end;
сейчас выводит за период 'and ((CONVERT( CHAR( 20 ), d.Nach_per, 104)<= '''+dateToStr(date)+''') and (CONVERT( CHAR( 20 ), d.Kon_per, 104)>= '''+dateToStr(date)+'''))
Как получить значения из кода as kol и as dni??

что бы дальше использовать для цикла?

Добавлено через 45 секунд
через Fieldbyname не получается
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.11.2017, 15:58
Ответы с готовыми решениями:

Вывод данных из столбца Grid-а в ComboBox при запрещенном редактировании в нем
Доброго времени суток. Ранее с подобной проблемой не сталкивалась, поэтому прошу сильно не ругаться если вдруг написанный код покажется...

Вывод значений в Excel из БД
Доброго времени суток! Прошу помочь, возник следующий вопрос. Имеется БД Access(mdb), подключаюсь с помощью ADO, формирую отчет в Delphi...

Вывод значений из базы в ComboBox
Здравствуйте, скажите пожалуйста. можно ли вывести в ComboBox поля с именами, а его значение сделать равным ID пользователя с таким именем?...

2
5984 / 4559 / 1095
Регистрация: 29.08.2013
Сообщений: 28,197
Записей в блоге: 3
05.11.2017, 16:59
Цитата Сообщение от pk_100 Посмотреть сообщение
через Fieldbyname не получается
есть еще массив Fields[]

Цитата Сообщение от pk_100 Посмотреть сообщение
через Fieldbyname не получается
что за СУБД? может лучше сделать запрос в виде хранимки?
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
05.11.2017, 17:52
Цитата Сообщение от pk_100 Посмотреть сообщение
Как получить значения из кода as kol и as dni?
Псевдонимы полей в одном тексте запроса использовать нельзя.
Решение в том чтобы первые два запрос оформить или в виде ХП (как советует qwertehok) или как CTE (обобщенное табличное выражение).
Тогда можно будет в остальных запросах использовать псевдонимы kol и dni как обычные поля.

Не по теме:

Слово date в Дельфи зарезервировано - это встроенная функция и чтобы избежать проблем лучше его не использовать как переменную.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.11.2017, 17:52
Помогаю со студенческими работами здесь

Вывод в DBLookupComboBox необходимых значений
Всем доброго времени суток. Вопрос такой. Есть таблица &quot;Комнаты&quot; БД Аксесс, подключенная к Делфи через ADOTable. В этой таблице есть...

Вывод в RadioGroup значений строк из БД
Подскажите пожалуйста, как из БД вывести значения строк в RadioGroup?

Memo+SQL вывод нескольких значений
Всем привет. В общем вопрос подскажите как построить код так чтоб вывелось не одно значение а весь результат запроса и не в одну строку....

Вывод значений таблиц в документ Word
Помогите пожалуйста, нужно ввести значения двух таблиц и их итогов в документ Ворд. procedure DsMoveTo(dts: TDataSet; index: integer); ...

Вывод суммы значений в конкретной строке
Добрый день! Есть БД. Первый столбец - №п.п Второй столбец - Название авто (уже с постоянными значениями - Мерседес, БМВ, и тд.) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru