![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Всем привет.
Проблема такая: Мне для статистического отчета нужно чтобы программа считала записи с определенным содержанием и выводила количество (цифрой) таких записей например в QRLabel. В SQL не силен. Если кто может поделиться примером или дать ценный совет буду очень признателен. Заранее спасибо! |
|
#2
|
||||
|
||||
|
А связь с базой через какой компонент реализована?
И какая БД? Firebird, Access, MSSQL, Oracle? Желательно еще имя таблицы и по какому параметру отбирать "нужные" записи, в каком поле это значение смотреть? |
|
#3
|
|||
|
|||
|
Акцес, подключение через адо.
Имя главной таблицы LichDan считать например по гражданству, с российским грожданством. |
|
#4
|
||||
|
||||
|
А как называется поле где указано гражданство? И какой тип данного поля?
Вот так будет делаться, надо только с запросом определиться: Код:
procedure TForm1.Button1Click(Sender: TObject);
var q: TADOQuery; //кверик, который будет возвращать количество "нужных" записей
begin
q:= TADOQuery.Create(nil); //создаем кверик
q.Connection:= ADOConnection1; //тут надо указать нужный connection
q.SQL.Text:= ''; //задаем текст запроса
q.Open; //открываем кверик
QRLabel.Caption:= q.FieldByName('').AsString; //вставляем число записей в лэйбл
q.Close; //закрываем кверик
q.Free; //освобождаем кверик
end;Последний раз редактировалось Ildar-tsr, 06.04.2012 в 10:55. |
|
#5
|
|||
|
|||
|
Поле так и называется гражданство, тип текстовый, размер 20.
Процедура понятна спасибо. И если не сложно с запросом помогите. |
|
#6
|
||||
|
||||
|
Навскидку так будет:
Код:
SELECT Count([гражданство]) FROM LichDan WHERE [гражданство] LIKE '%осси%' |
|
#7
|
|||
|
|||
|
И сразу еще вопрос. Чтобы запрос работал работал не по нажатию на кнопку, а при открытии формы, то процедуру onCreate создать?
|
|
#8
|
||||
|
||||
|
Цитата:
|
|
#9
|
||||
|
||||
|
Цитата:
select {что-то} from {откуда} where {тут задаются условия} А для подсчета запись есть функция count() Код:
q.SQL.Text:= 'select count(*) from LichDan where [гражданство] = '+QuotedStr('Российское');А вообще это все конечно же не правильно, надо бы поле гражданство переделать на числовой тип, завести таблицу "Справочник гражданства" где будет храниться код и наименование и в таблице LichDan в поле гражданство хранить код. |
|
#10
|
|||
|
|||
|
Я бы так и сделал если бы знал, практики маловато. Недавно только начал программированием заниматься.
Спасибо всем за помощь. |