powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / создание отчета
63 сообщений из 63, показаны все 3 страниц
создание отчета
    #37991443
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть таблица table короткие названия употребляю чтобы много не писать. в таблице много полей но есть два поля name_mo и name_error. name_mo это отдел, а name_error это причина ошибки. нужно программно сформировать отчет в котором выбираются записи где поле name_mo=Диагностика и сгруппировать эти записи по полю Name_error. через Create report если делать кажется нельзя группировать.
...
Рейтинг: 0 / 0
создание отчета
    #37991464
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программно отчеты не создают. Программно делают выборку, которую потом и используют в ранее созданном отчете.
...
Рейтинг: 0 / 0
создание отчета
    #37991481
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ, например, у меня есть кнопка. Мне надо значить при нажатии на кнопку сделать выборку в курсор допустим, а потом как отчет сделать?
...
Рейтинг: 0 / 0
создание отчета
    #37991570
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну вот написал код чтобы делать выборку:

Код: plaintext
SELECT fam,im,ot,name_error, name_mo FROM pacient_strah WHERE name_mo='РДЦ (Лаборатория)'  

а как дальше делать отчет пишу такой код но пустота:

Код: plaintext
CREATE REPORT laboratoriya FROM pacient_strah 
...
Рейтинг: 0 / 0
создание отчета
    #37991613
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тебе ж сказали - ранее созданном. :) В конструкторе отчетов заранее создаешь шаблон, куда потом и выводишь результат.
Шаблон затачивается под результат селекта. Фоксовый конструктор достаточно мощное средство, хотя и не всегда удобное.
Не хочешь в фоксовый - можешь выводить в эксель или ворд. Да хоть в текстовый файл.
...
Рейтинг: 0 / 0
создание отчета
    #37991657
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miv32, я пока что не знаю как выводить результат выборки в шаблон отчета. вообще как лучше создавать отчет через wizard? потом проблем не будет с выводом результатов туда?
...
Рейтинг: 0 / 0
создание отчета
    #37991662
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вообще как вывести результат выборки в созданный ранее отчет? вот главный вопрос для меня
...
Рейтинг: 0 / 0
создание отчета
    #37991664
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Первоначальный шаблон можно через Wizard. Потом можно будет поправить.
...
Рейтинг: 0 / 0
создание отчета
    #37991671
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miv32, вот я сейчас создал шаблон вывел туда поля fam, im, ot, name_error и name_mo. по нажатию на кнопку сделал выборку. Как мне теперь вывести результат выборки в этот отчет?
...
Рейтинг: 0 / 0
создание отчета
    #37991691
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select ..... into cursor qqqq - результат твоей выборки

select qqqq

--дальше команда
REPORT FORM с нужными параметрами
...
Рейтинг: 0 / 0
создание отчета
    #37991704
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miv32, а ну я так и делаю просто получается отчет надо заранее создать чтобы красивее было что ли? и еще вопрос вот создал отчет на основе таблицы pfcient_strah и вывел туда записи сгруппировав это все через шаблон. если потом в программе выводить в этот же отчет данные через report form в отчете данные перезаписываются?
...
Рейтинг: 0 / 0
создание отчета
    #37991721
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так я делаю

SELECT id,fam,im,ot,dr,name_error,name_mo FROM pacient_strah WHERE name_mo='РДЦ (Диагностика)' INTO CURSOR curs1 ORDER BY name_error
REPORT FORM PACIENT_STRAH.frx TO PROMPT PREVIEW

а отчет PACIENT_STRAH.frx создал заранее через шаблон
...
Рейтинг: 0 / 0
создание отчета
    #37991722
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дима1991, правильно вообще делаю или можно получше как-то?
...
Рейтинг: 0 / 0
создание отчета
    #37991728
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В отчет ничего не записывается. Это как телевизор. :) Средство для отображения данных.
Источником полей в отчете обычно являются поля в курсоре, но можно подсунуть, например, объект формы или переменную.
Красивости навести, заголовки, итоговые данные и т.д.
...
Рейтинг: 0 / 0
создание отчета
    #37991738
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miv32, вы же говорите в заранее созданный шаблон выводится результат выборки. вы написали REPORT FORM с нужными параметрами
тут если укажу заранее созданный отчет получается в этот отчет ничего не записывается. а зачем тогда создавать заранее отчет? мне же нужно по нажатию на кнопку формировать отчет.
...
Рейтинг: 0 / 0
создание отчета
    #37991742
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е. не вы говорили а Владимир, но вы подтвердили. Вот как мне теперь использовать выборку для заранее созданного отчета?
...
Рейтинг: 0 / 0
создание отчета
    #37991752
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сам же написал

SELECT id,fam,im,ot,dr,name_error,name_mo FROM pacient_strah WHERE name_mo='РДЦ (Диагностика)' INTO CURSOR curs1 ORDER BY name_error
REPORT FORM PACIENT_STRAH.frx TO PROMPT PREVIEW

Все верно.
...
Рейтинг: 0 / 0
создание отчета
    #37991763
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miv32, т.е. получается что шаблон это что-то типа каркаса куда можно вывести данные через мастер отчетов или селектом? и если даже отчет создан через мастер и потом в этот же отчет выводятся результат через селект он выведет результат селекта?
...
Рейтинг: 0 / 0
создание отчета
    #37991786
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имено так. :)
Но на практике лично я использую редко.
...
Рейтинг: 0 / 0
создание отчета
    #37991816
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miv32, теперь понятно. я просто думал что в отчет подобно таблицам хранят данные, оказывается только отображают
...
Рейтинг: 0 / 0
создание отчета
    #37991897
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что-то я не пойму сделал вот мой код:

авторSELECT fam,im,ot,name_error,name_mo FROM pacient_strah WHERE name_mo='РДЦ (диагностика)' INTO CURSOR curs1 ORDER BY name_error
REPORT FORM Diagnostika.frx TO PROMPT PREVIEW


если скомпилировать и запускать с другого места то выдает ошибку "Ошибка создания экземпляра курсора" Что за ошибка и как ее исправить
...
Рейтинг: 0 / 0
создание отчета
    #37991927
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если выводить результат выборки не в готовый отчет а создавать и потом выводить то ошибки нету.
...
Рейтинг: 0 / 0
создание отчета
    #37991938
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Накосячил значит где-то.
...
Рейтинг: 0 / 0
создание отчета
    #37991941
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miv32, где я мог накосячить? вот весь код. в основной программе вот такой код

авторCREATE table H:\Reports_RDC\pacient_strah ( ;
id I, ;
id_sch I, ;
vpolis I, ;
spolis C(3), ;
npolis C(9), ;
fam C(30), ;
im C(30), ;
ot C(30), ;
dr d, ;
w I,;
smo C(5), ;
stat I, ;
name_error C(30), ;
kol_strax I, ;
kol_uslugi N(5,2), ;
kol_kd N(5,2), ;
sumv N(10, 2), ;
code_mo C(6), ;
name_mo C(50), ;
smo_tmp C(5))

XMLTOCURSOR("H:\Reports_RDC\T05M501209050130.xml", "pacient_strah", 512)
COPY TO "H:\Reports_RDC\pacient_strah"

DO FORM form1

READ EVENTS
CLEAR EVENTS

RETURN
QUIT


на форме

авторSELECT fam,im,ot,name_error,name_mo FROM pacient_strah WHERE name_mo='Ðåñïóáëèêàíñêèé ÄÖ (äèàãíîñòèêà)' INTO CURSOR curs1 ORDER BY name_error
REPORT FORM Diagnostika.frx TO PROMPT PREVIEW
...
Рейтинг: 0 / 0
создание отчета
    #37991947
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991,

На форме - это в каком событии?
А в DataEnveroment отчета есть что-нибудь?
...
Рейтинг: 0 / 0
создание отчета
    #37991953
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG, на форме есть кнопка. по нажатию кнопки такой вод где селект. DataEnveroment вообще где находится? ))
...
Рейтинг: 0 / 0
создание отчета
    #37991956
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лови, в каком месте ошибка. Подозреваю, что ты табличку в проект включил и скомпилил еще ее. Соответственно ее поменять уже нельзя.
...
Рейтинг: 0 / 0
создание отчета
    #37991957
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991,

На форме - это в каком событии?
А в DataEnveroment отчета есть что-нибудь?
...
Рейтинг: 0 / 0
создание отчета
    #37991966
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
аа нашел, там поля из созданной таблицы pacient_strah и одно индексное поле name_error по которому группирую
...
Рейтинг: 0 / 0
создание отчета
    #37991969
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может проект выложу посмотрите? и проект и xml файл выложу поменяете путь и проверьте
...
Рейтинг: 0 / 0
создание отчета
    #37991979
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
создание отчета
    #37992052
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У тебя там лажа какая-то написана.
1) В program1 вместо CREATE table надо

create cursor pacient_strah (;
id I, ;
id_sch I, ;
...

2) COPY TO выкинь
...
Рейтинг: 0 / 0
создание отчета
    #37992065
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miv32, а мне же надо и dbf файл получить еще
...
Рейтинг: 0 / 0
создание отчета
    #37992072
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дима1991, надо получить dbf и потом из dbf файла выбрать записи какие-то и сформировать отчет
...
Рейтинг: 0 / 0
создание отчета
    #37992075
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну тогда COPY оставь, если нужен. Только непонятно зачем.
...
Рейтинг: 0 / 0
создание отчета
    #37992093
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дима1991,

Так при каждом запуске программы у тебя командой CREATE TABLE она будет обнуляться. Зачет тебе тогда таблица?

Как уже много раз говорилось: не нужно спрашивать о том, что ты неправильно делаешь, а нужно озвучивать в первую очередь какая задача стоит.
...
Рейтинг: 0 / 0
создание отчета
    #37992099
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miv32, без copy пустая таблица создается. дело не в этом а в отчете. заранее создал отчет из таблицы pacient_strah выбрав записи. в программе потом при нажатии на кнопку выборку делаю и пишу report form diagnostika TO PROMPT PREVIEW
...
Рейтинг: 0 / 0
создание отчета
    #37992106
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача такова. из xml Файла получить dbf, и далее из dbf файла выбрать записи например у которых поле name_mo=Диагностика, сгруппировать их по полю name_error и сформировать отчет
...
Рейтинг: 0 / 0
создание отчета
    #37992109
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня все работает. Еще раз говорю
Вместо CREATE table ..... надо

create cursor pacient_strah (
...
Рейтинг: 0 / 0
создание отчета
    #37992115
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miv32, у вас и dbf создается? если писать create sursor?
...
Рейтинг: 0 / 0
создание отчета
    #37992120
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cursor только, а то напишешь...
COPY команда не нужна. Данные из курсора берутся. И скомпилить не забудь. :)
...
Рейтинг: 0 / 0
создание отчета
    #37992129
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miv32, да, получается если писать курсор. это одно. Но вот вы мне скажите. если для кнопки напишу такой код

авторSELECT fam as Фам,im as Имя,ot as отч,name_error,name_mo FROM pacient_strah WHERE name_mo='Республиканский ДЦ (диагностика)' INTO CURSOR curs1 ORDER BY name_error
REPORT FORM Diagnostika.frx TO PROMPT PREVIEW

при нажатии на кнопку в отчет выведутся результаты выборки?
...
Рейтинг: 0 / 0
создание отчета
    #37992140
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я ж говорю - работает. :)
...
Рейтинг: 0 / 0
создание отчета
    #37992146
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miv32, т.е. если я сделаю для другого отделения отчет через мастер шаблонов и напишу такой код, только где значение поля name_to другое у меня все будет работать с какого бы места я не запустил ехе?
...
Рейтинг: 0 / 0
создание отчета
    #37992236
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На другом компе у меня не запускается. пишет ошибка создания экземпляра курсора. что делать теперь?
...
Рейтинг: 0 / 0
создание отчета
    #37992247
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я предварительно отчет создаю используя созданную таблицу pacient_strah. Поэтому кажется она ошибку выдает. Как быть в таком случае. если просто через Create report делать работает с любого места, но такой отчет убого выглядит, а нужно чтобы был заголовок, и все такое
...
Рейтинг: 0 / 0
создание отчета
    #37992280
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или может в DataEnvironment можно как-то вывести поля из полученного курсора? чтобы он к таблице не обращался этот отчет? как сделать?
...
Рейтинг: 0 / 0
создание отчета
    #37992348
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дима1991,
выведи один раз данные не в курсор, а в таблицу. На основании таблицы мастером или построителем создай отчет. Затем удали таблицу из DataEnvironment, привязка полей в отчете останется. Дальше будешь выводить данные в курсор и открывать отчет. Единственный нюанс: мастер отчетов может сам создать индекс по ключевому полю. Тогда тебе нужно будет программно каждый раз добавлять такой же индекс к курсору.
...
Рейтинг: 0 / 0
создание отчета
    #37992358
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ffffffffffffffff, и как добавлять индекс к курсору?
...
Рейтинг: 0 / 0
создание отчета
    #37992365
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может быть этот способ тоже хорош сейчас попробую, но мне надо чтобы программа делала так. из xml чтобы делала dbf затем при нажатии на кнопку формировала отчет в соответствии с запросом select. Этой программой будут пользоваться люди которые не разбираются вообще в этом. Надо чтобы кнопками все можно было делать
...
Рейтинг: 0 / 0
создание отчета
    #37992375
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так вообще не работает при нажатии на кнопку таблицу просит указать окно выходит для поиска
...
Рейтинг: 0 / 0
создание отчета
    #37992380
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нельзя просто в программе написать чтобы в dataenvironment данные из курсора?
...
Рейтинг: 0 / 0
создание отчета
    #37992413
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запарился уже я. Целый день пытаюсь сделать. Помогите мне сделать эту вещь. хотя бы мой проект измените чтобы работал как надо.
...
Рейтинг: 0 / 0
создание отчета
    #37992621
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Убери все из DataEnvironment и формы и отчета.
...
Рейтинг: 0 / 0
создание отчета
    #37992627
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miv32, из DataEnvironment убрал. а в событии клик кнопки оставил выборку и report form названиеотчета to ..Проверял запустив не делая выборку, в таком случае просто данные из отчета выводит не группируя кажется, а если с выборкой то группирует. Получается все работает. а у меня есть поле W это значит пол и там значения 1 или 2. в отчете непонятно что это значит. можно ли в отчете выводить вместо 1 или 2 М и Ж? а в таблице не менять значения
...
Рейтинг: 0 / 0
создание отчета
    #37992662
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В поле отчета, где стоит W поставь IIF(W = 1,"М","Ж")
Учи матчасть, если ты по таким мелочам плаваешь, то что будет, когда задача усложниться?
...
Рейтинг: 0 / 0
создание отчета
    #37992698
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miv32, Спасибо
...
Рейтинг: 0 / 0
создание отчета
    #37992703
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на фокспро я не писал программы особо. В основном на делфи писал и на си немного. поэтому функции фокса и возможности плохо знаю, буду потихоньку учить.
...
Рейтинг: 0 / 0
создание отчета
    #37995561
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как проверить является ли отчет пустым или есть ли данные для вывода в отчет или нет?

делаю такую выборку
SELECT vpolis,spolis,npolis,fam,im,ot,dr,w,smo,name_error,kol_strax,kol_uslugi,kol_kd,sumv FROM curs1 WHERE name_error='Отсутствует в СРЗ' INTO CURSOR curs2

а пр выборе option1 а при нажатии на кнопку отчет вывожу отчет так
IF thisform.optiongroup1.option1.Value=1 AND thisform.optiongroup2.option1.Value=1
REPORT FORM diagn.frx TO PROMPT PREVIEW

Как вывести сообщение что нет данных для вывода в таком случае
...
Рейтинг: 0 / 0
создание отчета
    #37995576
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
reccount() - количество записей в таблице/курсоре
...
Рейтинг: 0 / 0
создание отчета
    #37995779
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T, ошибку выбает когда пишу такой код

IF thisform.optiongroup1.option1.Value=1 AND thisform.optiongroup2.option1.Value=1 OR thisform.optiongroup2.option2.Value=1 OR thisform.optiongroup2.option3.Value=1
IF reccount(curs2)>0
REPORT FORM diagn.frx TO PROMPT PREVIEW
ELSE
MESSAGEBOX('Нечего выводить')
ENDIF


в curs2 данные выводятся не в этой кнопке в при выборе одного из option из optiongroup2

авторVariable 'CURS2' is not found. ошибка такая
...
Рейтинг: 0 / 0
создание отчета
    #37995781
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
curs2 в кавычках надо
Код: sql
1.
IF reccount("curs2")>0
...
Рейтинг: 0 / 0
создание отчета
    #37995788
Дима1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T, спасибо
...
Рейтинг: 0 / 0
63 сообщений из 63, показаны все 3 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / создание отчета
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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