![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Всем привет.
Проблема такая: Мне для статистического отчета нужно чтобы программа считала записи с определенным содержанием и выводила количество (цифрой) таких записей например в QRLabel. В SQL не силен. Если кто может поделиться примером или дать ценный совет буду очень признателен. Заранее спасибо! |
#2
|
||||
|
||||
![]() А связь с базой через какой компонент реализована?
И какая БД? Firebird, Access, MSSQL, Oracle? Желательно еще имя таблицы и по какому параметру отбирать "нужные" записи, в каком поле это значение смотреть? Google в помощь |
#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; Google в помощь Последний раз редактировалось Ildar-tsr, 06.04.2012 в 10:55. |
#5
|
|||
|
|||
![]() Поле так и называется гражданство, тип текстовый, размер 20.
Процедура понятна спасибо. И если не сложно с запросом помогите. |
#6
|
||||
|
||||
![]() Навскидку так будет:
Код:
SELECT Count([гражданство]) FROM LichDan WHERE [гражданство] LIKE '%осси%' Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#7
|
|||
|
|||
![]() И сразу еще вопрос. Чтобы запрос работал работал не по нажатию на кнопку, а при открытии формы, то процедуру onCreate создать?
|
#8
|
||||
|
||||
![]() Цитата:
select {что-то} from {откуда} where {тут задаются условия} А для подсчета запись есть функция count() Код:
q.SQL.Text:= 'select count(*) from LichDan where [гражданство] = '+QuotedStr('Российское'); А вообще это все конечно же не правильно, надо бы поле гражданство переделать на числовой тип, завести таблицу "Справочник гражданства" где будет храниться код и наименование и в таблице LichDan в поле гражданство хранить код. Google в помощь |
#9
|
|||
|
|||
![]() Я бы так и сделал если бы знал, практики маловато. Недавно только начал программированием заниматься.
Спасибо всем за помощь. |
#10
|
||||
|
||||
![]() Цитата:
Google в помощь |