powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Создание отчета с выборкой
25 сообщений из 26, страница 1 из 2
Создание отчета с выборкой
    #35559592
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi всем!
помогите нам разобраться с созданием Report
по нашей идее хотим, чтоб при запуске отчета делалсь несколько выборок всего из одной таблицы
из каждой выборки присваивалось переменным значение RECCOUNT(), ну а дальше переменные раскидывались бы на странице отчета
не знаем, как сделать, чтобы сначала делались выборки и присваивались значения. это ведь должно происходить при запуске REPORT-файла
спасиба

з.ы. fox 9-ка
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35559640
В отчетах тоже есть переменные.
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35559657
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходящий.В отчетах тоже есть переменные.
конечно есть. но выборку то как запустить?
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35559658
12345зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторэто ведь должно происходить при запуске REPORT-файла
спасиба


до запуска
report form ....

вы должны подготовить все курсоры и необходимые переменные,
сам репорт не должен ничего выбирать(хотя это можно реализовать в ДЕ)
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35559668
12345зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторно выборку то как запустить


select * from tt
into myCursor

report form ...


отчет будет строиться по myCursor
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35559676
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
12345зайчикдо запуска report form ....
вы должны подготовить все курсоры и необходимые переменные,
сам репорт не должен ничего выбирать(хотя это можно реализовать в ДЕ)
т.е. репорту переменные заданные в какой то форме являются действующими? а определять их PUBLIC?
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35559679
12345зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторделались выборки и присваивались значения

private pnCount1, pnCount2...

select *
from ....
pnCount1 = _tally

select *
from ....
pnCount2 = _tally


report form

и в репорте поля делаете с pnCount1, pnCount2
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35559680
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
даже получается, что репорт будет видеть этот курсор? так?
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35559682
12345зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автора определять их PUBLIC

они должны быть объявлены приватно
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35559686
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасиба! завтра сутра попробуем )))
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35559690
12345зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторчто репорт будет видеть этот курсор?

да, до репорта создаете курсоры
и в репорте не трогаете тычку использовать приват.датасессию
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35561645
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
УПС!!
проба
объявили в LOADE формы приватную переменную pnU1, в INIT присвоили ей знчение
далее в REPORT рисуем Field, в нем прописываем nU1
запускаем форму, в нем кликаем кнопку печати отчета и тут выскакивает
Variable 'PNU1' not found
что сделано не так?
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35561688
СниффУПС!!
проба
объявили в LOADE формы приватную переменную pnU1, в INIT присвоили ей знчение
далее в REPORT рисуем Field, в нем прописываем nU1
запускаем форму, в нем кликаем кнопку печати отчета и тут выскакивает
Variable 'PNU1' not found
что сделано не так?
Вот это:
авторобъявили в LOADE формы приватную переменную pnU1, в INIT присвоили ей знчение
Init вызывается не из Load, а значительно позже него. Потому-то ваша приватная переменная уже прекратила существование. В ините присвоено значение приватной инитовской переменной, а не той, что создана в Load, и которая тоже благополучно скончалась после выхода из инита. Ведь из инита репорт не вызывается, не так ли?
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35561706
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходящий.Init вызывается не из Load, а значительно позже него. Потому-то ваша приватная переменная уже прекратила существование. В ините присвоено значение приватной инитовской переменной, а не той, что создана в Load, и которая тоже благополучно скончалась после выхода из инита. Ведь из инита репорт не вызывается, не так ли?
((
логично объяснили
и репорт вызывается конечно не из INIT
щас переделаем подругому
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35561765
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, заработало!! )))))))))))))
большое спасибо не просто за подсказку, а за логический расклад нашей ошибки

я тогда еще один вопрос задам.
запускается из формы отчет наверно секунд 10, хотя сейчас в нем мы проставили всего одну переменную, а сам расчет всех переменых в форме занимает доли секунды. почему?
и еще. сам конструктор отчетов работает крайне медленно. передвинешь Detail или Page Footer - можно не торопясь достать сигарету из пачки и прикурить пока все передвинется. и закрывается конструктор медленно до жути
P-IV 2800, памяти 512 мб
ну почему?
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35562225
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так, разобрались в одном случаи
когда отчет запускается, то он пытается эти переменные забабахать на 8 тыс. с лишним страниц, т.е. по числу записей в курсоре
как этот можно обойти?
поставили RANGE, но в PREVIEW количество страниц осталось тоже
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35562269
12345зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы троите отчет по курсору, содержащему 8 тыс записей?

Вам оно нужно? или Вы желаете что-то другое на самом деле?

нарисуйте сюда Ваш курсор из 10 записей
и расскажите, что желаете сделать на самом деле.
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35562308
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
12345зайчикнарисуйте сюда Ваш курсор из 10 записей
и расскажите, что желаете сделать на самом деле.
да и рисовать то незачем. есть таблица. нужно подсчитать в ней количество записей для разных категорий людей. вот мы делали поочереди выборку одного и тогоже названия с WHERE field1=... , делали реккаунт для каждой выборки, дальше мы все писали
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35562320
Снифф 12345зайчикнарисуйте сюда Ваш курсор из 10 записей
и расскажите, что желаете сделать на самом деле.
да и рисовать то незачем. есть таблица. нужно подсчитать в ней количество записей для разных категорий людей. вот мы делали поочереди выборку одного и тогоже названия с WHERE field1=... , делали реккаунт для каждой выборки, дальше мы все писали
То есть отчет должен быть только из переменных?
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35562338
Снифф 12345зайчикнарисуйте сюда Ваш курсор из 10 записей
и расскажите, что желаете сделать на самом деле.
да и рисовать то незачем. есть таблица. нужно подсчитать в ней количество записей для разных категорий людей. вот мы делали поочереди выборку одного и тогоже названия с WHERE field1=... , делали реккаунт для каждой выборки, дальше мы все писали

1. а Group by в Select-SQL Вы не пробовали?! "Попробуй! Райское наслаждение" (с)
но если хотите, то можно:
2. В стандартном Фоксовом отчете надо оставить только группировку и убрать "тело" группы...
В группировке можно подсчитать количество и вывести его в конце группы...
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35562387
Станислав С...кий Снифф 12345зайчикнарисуйте сюда Ваш курсор из 10 записей
и расскажите, что желаете сделать на самом деле.
да и рисовать то незачем. есть таблица. нужно подсчитать в ней количество записей для разных категорий людей. вот мы делали поочереди выборку одного и тогоже названия с WHERE field1=... , делали реккаунт для каждой выборки, дальше мы все писали

1. а Group by в Select-SQL Вы не пробовали?! "Попробуй! Райское наслаждение" (с)
но если хотите, то можно:
2. В стандартном Фоксовом отчете надо оставить только группировку и убрать "тело" группы...
В группировке можно подсчитать количество и вывести его в конце группы...
Мой сарказм исходит из предположения, выдвинутого независимо от меня проходящим
проходящийТо есть отчет должен быть только из переменных?
Если же случай более сложный и группы должны быть расшифрованы
например:
Всего по данной категории: 1024
- ффф 100
- ввв 1000
...
, то приношу свои извинения...
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35562464
12345зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
блин

снис с нуфриком, опять в блудняк всех ввели


lntt = reccount("1курсор")
lnpp = reccount("2курсор")
....

ну или что-то что Вы там считаете куда-то

далее

create cursor RESULT (tt i, pp i ...)
insert into rezult values (lntt , lnpp ...)

* в репорте должны быть поля tt, pp ...
report form
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35562493
12345зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
create cursor tt (id i autoinc, name v( 10 ), catname v( 10 ))
insert into tt (name, catname) values ('Вася', 'пионер')
insert into tt (name, catname) values ('Катя', 'доярка')
insert into tt (name, catname) values ('Миша', 'рабочий')
insert into tt (name, catname) values ('Аня',  'пионер')
insert into tt (name, catname) values ('Надя', 'доярка')

select catname, cnt(*) as cntCat ;
	from tt ;
	group by catname ;
	into cursor result

report form result ....

понятно, что по-хорошему в tt вместо названий должны лежать ключи на справочник категорий
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35562514
12345зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
create cursor catNames (catid i autoinc, catname v( 10 ))
insert into catNames (catname) values ('пионер')
insert into catNames (catname) values ('рабочий')
insert into catNames (catname) values ('доярка')

create cursor tt (id i autoinc, name v( 10 ), catid i)
insert into tt (name, catid) values ('Вася',  1 )
insert into tt (name, catid) values ('Катя',  3 )
insert into tt (name, catid) values ('Миша',  2 )
insert into tt (name, catid) values ('Аня',   1 )
insert into tt (name, catid) values ('Надя',  3 )

select c.catname, cnt(*) as cntCat ;
	from tt t ;
		left join catNames c on c.catid =t.catid ;
	group by t.catid, c.catname ;
	into cursor result

курсор result будет содержать набор записей для отчета
в репорте нужно указать поля курсора result, которые Вы желаете напечатать
...
Рейтинг: 0 / 0
Создание отчета с выборкой
    #35564466
Снифф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин! во всех грехах обвинил
ну извините. мы с другом не семи пядей в лбу
сгруппировали. получили 38 записей
теперь отчет пытается расоложиться на 38 страницах
может легче данные выбороки в эксель кинуть?
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Создание отчета с выборкой
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]