|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Набор Данных статистика
Здравствуйте,
как сделать что бы из Набор Данных-считала поле пол в edit1.text и edit2.text количество полов ? так написала ... Код:
For i:=0 to Table1.RecordCount-1 do begin Table1.First; Table1.Fields.Fields[sex].Text:='Муж'; Table1.Fields.Fields[sex].Text:='Жен'; end; оно не работает ??? за ран спс. Последний раз редактировалось Admin, 16.08.2014 в 19:19. |
#2
|
||||
|
||||
Тебе количество нужно узнать? сколько мужиков сколько женщин??
Нет ничего не возможного. Вопрос только во времени... |
#3
|
||||
|
||||
Код:
begin Edit1.text:='0'; Edit2.text:='0'; for I := 1 to Table1.RecordCount do begin if table1.FieldByName('sex').Value='Man' then edit1.text:=inttostr(strtoint(Edit1.text)+1); end else begin edit2.text:=inttostr(strtoint(Edit2.text)+1); end; Table1.next; end; Нет ничего не возможного. Вопрос только во времени... Последний раз редактировалось Electronic_Arts, 16.08.2014 в 19:03. |
Этот пользователь сказал Спасибо Electronic_Arts за это полезное сообщение: | ||
АНЯ17 (16.08.2014)
|
#4
|
||||
|
||||
Тогда уж лучше так
Код:
var m, j: integer; ... m:= 0; j:= 0; Table1.First; while Table1.Eof do begin if Table1.FieldByName('sex').Value='Муж' then Inc(m) else Inc(j); Table1.next; end; Edit1.text:= IntToStr(m); Edit2.text:= IntToStr(j); Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
АНЯ17 (16.08.2014)
|
#5
|
|||
|
|||
Пасибо, за ответ. Все работала
Последний раз редактировалось АНЯ17, 16.08.2014 в 20:50. |
#6
|
||||
|
||||
На первый взгляд Table1.First в цикле возвращает указатель каждый раз на первую запись ( Next попробуйте), переменная цикла тоже не используется - просто крутится
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#7
|
|||
|
|||
Цитата:
Запрос который посчитает все и сразу 'SELECT COuNT(SEX) from имя таблицы group by SEX' -запрос будет корректен если в вашей таблице нет повторяющихся людей. Никаких ластов , фирстов и циклов не надо |
#8
|
||||
|
||||
Цитата:
Пользуйте только Query Но 2е циферки все же однозначно не дают понять сколько "м", а сколько "ж" Добавим WHERE Код:
SELECT COUNT(sex) FROM <имя таблицы> WHERE sex = "муж" GROUP BY sex Я за здоровый экстрим! Спасибо за "спасибо") |
#9
|
|||
|
|||
Ох уж эти советчики. Даже запрос правильный дать не могут.
Код:
SELECT Sex, COUNT(Sex) FROM <имя таблицы> GROUP BY Sex Еще вариант - использовать компоненты, которые позволяют автоматически посчитать подобную статистику, например cxGrid из набора DevExpress. Ну и кодом, как предложил Alegun. Ну и желательно в таком коде запоминать положение курсора и восстанавливать его после окончания подсчета. |
#11
|
|||
|
|||
Код:
SELECT podra, sex, count(*) as C FROM roj WHERE d_reg between :f and :j GROUP BY podra, sex ORDER BY 1, 2' Я хотела бы из поля (с) результаты кол-во полов с подразделение указать(вынести) в Edit1.text и Edit2.text. Например Октябрьский район Муж=1 в(Edit1.text) и Жен=1 в (Edit2.text ) и дале Первомайский р. Муж=3 в(Edit3.text). . . и.т.д и в итоге должна получатся так Октябрьский район Муж.1 Жен.1 |
#12
|
||||
|
||||
Делай селект из подселекта.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |