![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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. Ну и желательно в таком коде запоминать положение курсора и восстанавливать его после окончания подсчета. |
|
#10
|
||||
|
||||
|
Цитата:
![]() |
|
#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
|
||||
|
||||
|
Делай селект из подселекта.
|