Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.10.2009, 13:42
Len@09 Len@09 вне форума
Прохожий
 
Регистрация: 13.10.2009
Сообщения: 21
Репутация: 10
По умолчанию Поиск по дате

Добрый день!
Имеется таблица отраженная в DBGrid с полями: номер п/п, Дата поступления, Организация и т.д., необходимо организовать поиск с такой-то по такую-то дату по такой-то организации. Поиск по организации работает, а вот как к нему еще и поиск в интервале дат добавить...........
Вот код поиска по организации:
Код:
DataModule4.FindQuery.Active:=false;
DataModule4.FindQuery.SQL.Clear;
DataModule4.FindQuery.SQL.Add('SELECT *');
DataModule4.FindQuery.SQL.Add('FROM Таблица');
DataModule4.FindQuery.SQL.Add('WHERE Кто LIKE '''+FindEdit.Text+'''' );
DataModule4.FindQuery.Active:=true;
Form12.ShowModal;
Подскажите, пожалуйста!

Последний раз редактировалось Admin, 13.10.2009 в 13:56.
Ответить с цитированием
  #2  
Старый 13.10.2009, 18:58
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Наверное так:
Код:
DataModule4.FindQuery.SQL.Add('WHERE Кто LIKE '''+FindEdit.Text+'''' );
DataModule4.FindQuery.SQL.Add('and MyDate between :StartDate and :FinishDate');
DataModule4.FindQuery.Parameters.ParamValue['StartDate'] := StartDate;
DataModule4.FindQuery.Parameters.ParamValue['FinishDate'] := FinishDate;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 14.10.2009, 14:15
Len@09 Len@09 вне форума
Прохожий
 
Регистрация: 13.10.2009
Сообщения: 21
Репутация: 10
По умолчанию

Извините за глупые вопросы, но я еще новичок в этом деле. Можно подробней расписать что и как делать. При компиляции выдает ошибки:

[Error] Unit3.pas(98): Undeclared identifier: 'ParamValue'
[Error] Unit3.pas(98): Undeclared identifier: 'StartDate'
[Error] Unit3.pas(99): Undeclared identifier: 'ParamValue'
[Error] Unit3.pas(99): Undeclared identifier: 'FinishDate'
[Fatal Error] NalogProject.dpr(17): Could not compile used unit 'Unit3.pas'
Ответить с цитированием
  #4  
Старый 14.10.2009, 15:18
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Для подробного ответа нужен подробный вопрос.
Как подключаетесь к базе Ado,BDE или что-то третье?
Какая структура таблицы, перечень основных полей их типов и для чего они.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 14.10.2009, 17:01
Len@09 Len@09 вне форума
Прохожий
 
Регистрация: 13.10.2009
Сообщения: 21
Репутация: 10
По умолчанию

БД в Access, подключена через ADO.
В ней 6 таблиц: ТаблицаГИБДД, ТаблицаИнспектор, ТаблицаКонторы, ТаблицаОрг, ТаблицаОрганизациижд, ТаблицаОрганизаций.
ТаблицаГИБДД:
Номер п/п – числовой
Дата поступления в ИФНС – Дата/время
Кто - текстовый
Кому - текстовый
Дата ТТН – Дата/время
Номер ТТН - текстовый
ФИО Водителя - текстовый
Наименование груза - текстовый
Количество груза - текстовый
Инспектор - текстовый
Примечание – текстовый.
В Delphi это отражено в таблице DBGrid, в эту таблицу пользователь заносит данные. На форме также имеется поле TEdit (FindEdit), в которое нужно занести наименование организации и кнопка Найти. Еще необходимо создать поля для дат (подскажите как лучше сделать, какой тип для поля ‘Дата поступления в ИФНС’ поставить в Access), чтоб пользователь мог сделать выборку за определенный период по определенной организации. По кнопке Найти результат выборки отражается в другой форме.
Ответить с цитированием
  #6  
Старый 15.10.2009, 10:48
Аватар для TOJluK
TOJluK TOJluK вне форума
Местный
 
Регистрация: 25.02.2009
Адрес: Минск
Сообщения: 551
Версия Delphi: 2007
Репутация: 110
По умолчанию

Переменные StartDate и FinishDate не объявил, вот и ругается. И последние 2 строчки так напиши:
Код:
DataModule4.FindQuery.Parameters.ParamByName('StartDate').Value := StartDate;
DataModule4.FindQuery.Parameters.ParamByName('FinishDate').Value := FinishDate;

Последний раз редактировалось TOJluK, 15.10.2009 в 15:37.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:58.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025