Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 посчитать количество строк в запросе  [new]
jk00123
Member

Откуда:
Сообщений: 15
Требуется помощь в подсчете строк запроса.
Запрос выглядит следующим образом:
SELECT Group.kurs, Studenty.key_stud, Studenty.im_stud, Studenty.ot_stud,;
Studenty.fam_stud;
FROM ;
armzo3!group ;
INNER JOIN armzo3!studenty ;
ON Group.key_group = Studenty.key_group;
WHERE Group.kurs = ( 1 )
он выводит количество записей студентов, которые имеют значение 1 в поле курс (т.е. студентов первокурсников из таблицы студенты) по ключевому полю key_group из таблицы group он берет номер курса и если он равен единице, то выводит его, мне необходимо написать условие, при котором будет проверяться, если данный запрос вывел 0 записей, т.е. ни одного первокурсника в таблице нету, то выполняется одно действие, если больше нуля, т.е. запрос вывел хотябы одну запись, т.е. в таблице есть студенты первокурсники, то выполняется другое действие. Запрос называется qr1.qpr. Большая просьба помочь реализовать, банально не знаю как обратиться к строкам запроса :(
14 июн 11, 23:07    [10813345]     Ответить | Цитировать Сообщить модератору
 Re: посчитать количество строк в запросе  [new]
jk00123
Member

Откуда:
Сообщений: 15
Небольшая поправка, запрос выводит записи :) просто чтобы не смеялись над этим
14 июн 11, 23:08    [10813352]     Ответить | Цитировать Сообщить модератору
 Re: посчитать количество строк в запросе  [new]
igorbik
Member

Откуда: Мск
Сообщений: 578
jk00123,
? reccount()
14 июн 11, 23:36    [10813448]     Ответить | Цитировать Сообщить модератору
 Re: посчитать количество строк в запросе  [new]
AndreTM
Member

Откуда: Где-то в вологодских лесах...
Сообщений: 6901
? _TALLY
15 июн 11, 02:23    [10813736]     Ответить | Цитировать Сообщить модератору
 Re: посчитать количество строк в запросе  [new]
AndreTM
Member

Откуда: Где-то в вологодских лесах...
Сообщений: 6901
Кстати, смысла в именно таком, как у вас, построении запроса - мало
Более правильно будет (ИМХО) примерно так:
SELECT key_stud, im_stud, ot_stud, fam_stud ;
 FROM armzo3!studenty ;
 WHERE key_group IN (SELECT key_group FROM armzo3!group WHERE kurs=1)
Ну и смысла в разбивке ФИО по полям тоже немного. Если у вас не третий фокс , то можно заменить
im_stud, ot_stud, fam_stud на TRIM(im_stud)+' '+TRIM(ot_stud)+TRIM(fam_stud) as FIO
15 июн 11, 02:54    [10813745]     Ответить | Цитировать Сообщить модератору
 Re: посчитать количество строк в запросе  [new]
jk00123
Member

Откуда:
Сообщений: 15
PUBLIC c As Character
SELECT key_stud, im_stud, ot_stud, fam_stud ;
FROM armzo3!studenty ;
WHERE key_group IN (SELECT key_group FROM armzo3!group WHERE kurs=1)
c=RECCOUNT()
if c>0 then
//ну тут дальше тело ифа
ELSE
MESSAGEBOX('Не все студенты переведены на 2ой курс!!!')
ENDIF
IF игнорирует, а мне нужно именно чтобы выводило не результат запроса, а чтобы просто выводился месседжбокс что не все студенты переведены на 2ой курс!!!
15 июн 11, 08:39    [10813919]     Ответить | Цитировать Сообщить модератору
 Re: посчитать количество строк в запросе  [new]
jk00123
Member

Откуда:
Сообщений: 15
ОЙ, ВОТ Я ТОРМОЗ!!! :) ПРИМИТЕ МОИ ИЗВИНЕНИЯ :)
c=_TALLY
if c=0 then
15 июн 11, 08:51    [10813942]     Ответить | Цитировать Сообщить модератору
 Re: посчитать количество строк в запросе  [new]
AndreTM
Member

Откуда: Где-то в вологодских лесах...
Сообщений: 6901
_tally - это и так переменная, не имеет смысла заводить ещё одну.
Хотя, если вам это количество записей нужно учитывать еще где-то далее по тексту...
15 июн 11, 12:55    [10815412]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить