Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 30.03.2015
Сообщений: 2
Другое

Сортировка данных по датам

30.03.2015, 22:32. Показов 1450. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Уважаемые помогите. читал Ваши советы народу и написал запрос к базе Access результатом должна быть сортировка данных по данных из диапазона данных. Программа компилируется но таблица не сортируется и в DBGrid-е не происходит ни каких изменений. Подскажите в чём ошибка и как её возможно исправить.
Значения в Edit-ы передаются из DateTimePicker-ов.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
procedure TfOtZap.Button1Click(Sender: TObject);
var
 dt1, dt2 : String;
 sqlfile: TextFile;
i: Integer;
begin
 dt1:=DateToStr(DTP1.Date);
 dt2:=DateToStr(DTP2.Date);
 Edit1.Text:=dt1;
 Edit2.Text:=dt2;
 fDM.ADOQuery1.SQL.Clear;
 fDM.ADOQuery1.SQL.Add('SELECT School, Pham , Nam, Otch, Dol, Predm, Vid_k, Data_n, Data_z');
 fDM.ADOQuery1.SQL.Add('FROM  Kont');
 fDM.ADOQuery1.SQL.Add('WHERE ((Data_n) BETWEEN (DateValue(''' + Edit1.Text +
                         ''')) AND (DateValue(''' + Edit2.Text + ''')));');
 fDM.ADOQuery1.Active := True;
 AssignFile(sqlfile,'sql_instructions.txt');
 Rewrite(sqlfile);
 for i := 0 to fDM.ADOQuery1.SQL.Count-1 do
          Writeln(sqlfile, fDM.ADOQuery1.SQL.Strings[i]);
 CloseFile(sqlfile); end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.03.2015, 22:32
Ответы с готовыми решениями:

Сортировка в БД Delphi по датам
Всем привет! Люди добрые очень нужна ваша помощь. Есть база данных в которую я заношу данные через Delphi. (рис.1) При нажатии на кнопку...

Сортировка и суммирование данных списка по датам
Привет народ! Есть таблица с данными. В ней фиксируются продажи(сумма и дата продажи) Есть форма со списком в которой отображены все...

сортировка по датам
Добрый день! Подскажите пожалуйста как правильно отсортировать список "работников". Колонок много (не в этом суть) есть 2 поля с...

6
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
30.03.2015, 23:39
Цитата Сообщение от Decan Посмотреть сообщение
сортировка данных по данных из диапазона данных
Как понять этот "перл"?

Встречный вопрос: и все же, речь идет именно о СОРТИРОВКЕ или о фильтрации данных?
Если о фильтрации, то приведенный текст запроса ничего криминального не содержит и должен вернуть записи, находящиеся в указанном периоде дат.
Только надо очистить свойство Date компонентов TDateTimePicker от времени - оно там всегда присутствует.
Лучше всего так:
Delphi
1
  dt1:=DateToStr(DateOf(DTP1.Date));
Функция DateOf находится в модуле DateUtils.
1
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,612
31.03.2015, 01:22
Цитата Сообщение от Скандербег Посмотреть сообщение
Лучше всего так:
dt1:=DateToStr(DateOf(DTP1.Date));
Функция DateOf находится в модуле DateUtils.
Почему лучше? DateToStr переведёт дату в строку одинаково правильно, даже если я напишу
Delphi
1
DateToStr(Now);
Вот другое дело когда мы хотим использовать дату не в виде строки, а в "сыром" виде.
1
19 / 19 / 12
Регистрация: 09.12.2014
Сообщений: 250
01.04.2015, 11:20
просто добавляешь сортировкку в конце по дате:
Delphi
1
2
3
4
5
6
7
fDM.ADOQuery1.SQL.Clear;
 fDM.ADOQuery1.SQL.Add('SELECT School, Pham , Nam, Otch, Dol, Predm, Vid_k, Data_n, Data_z');
 fDM.ADOQuery1.SQL.Add('FROM  Kont');
 fDM.ADOQuery1.SQL.Add('WHERE ((Data_n) BETWEEN (DateValue(''' + Edit1.Text +
                         ''')) AND (DateValue(''' + Edit2.Text + ''')));');
fDM.ADOQuery1.SQL.Add(' order by Data_n');
 fDM.ADOQuery1.Active := True;
Access же тоже order by поддерживает?
1
0 / 0 / 0
Регистрация: 30.03.2015
Сообщений: 2
01.04.2015, 18:38  [ТС]
Спасибо за советы, но не тот не тот не помогает. Может нужно какое то событие для самой формы описать?
0
02.04.2015, 01:44

Не по теме:

Цитата Сообщение от Decan Посмотреть сообщение
Спасибо за советы, но не тот не тот не помогает. Может нужно какое то событие для самой формы описать?
А может лучше сменить прокладку?

0
 Аватар для Mawrat
13114 / 5895 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
02.04.2015, 09:57
Decan, о записи запроса в файл. Заместо кода:
Delphi
1
2
3
4
5
  AssignFile(sqlfile,'sql_instructions.txt');
  Rewrite(sqlfile);
  for i := 0 to fDM.ADOQuery1.SQL.Count-1 do
    Writeln(sqlfile, fDM.ADOQuery1.SQL.Strings[i]);
  CloseFile(sqlfile);
можно сделать так:
Delphi
1
2
//ExtractFilePath(ParamStr(0)) - путь директория, в котором лежит исполняемый файл программы.
fDM.ADOQuery1.SQL.SaveToFile(ExtractFilePath(ParamStr(0)) + 'sql_instructions.txt');
Добавлено через 3 минуты
Цитата Сообщение от Decan Посмотреть сообщение
Спасибо за советы, но не тот не тот не помогает.
В SQL запросе перед order by надо точку с запятой убрать.
Сейчас так:
Delphi
1
2
fDM.ADOQuery1.SQL.Add('WHERE ((Data_n) BETWEEN (DateValue(''' + Edit1.Text +
                         ''')) AND (DateValue(''' + Edit2.Text + ''')));');
Без точки с запятой так:
Delphi
1
2
fDM.ADOQuery1.SQL.Add('WHERE ((Data_n) BETWEEN (DateValue(''' + Edit1.Text +
                         ''')) AND (DateValue(''' + Edit2.Text + ''')))');
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.04.2015, 09:57
Помогаю со студенческими работами здесь

Сортировка по датам
Всем привет! Нужно сделать сортировку по датам. Как это можно сделать? Вывод на странице: <div...

Сортировка структуры по датам
в радиоателье храняться квитанции о сданных в ремонт телевизорах. каждая квитанция содержит следующую информацию: марка телевизора, дата...

Сортировка строк в memo по датам
возникла проблемка, необходимо отсортировать строки в memo такого типа 23.12.2014;ручка;паркер, 12.6.1995;карандаш;паркер....только по...

Сортировка в виртуальном ListView (по алфавиту, числам и датам)
Нужен пример сортировки в виртуальном ListView, в нете смог найти только на C#, а он для меня как потёмки. Если у кого есть пример кода,...

Форум: сортировка тем по датам последних сообщений
Здравствуйте. Прошу прощения за ламерский вопрос, но знания mysql не дальше базовых, и я даже не могу понять в каких разделах мануалов...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru