powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Данные для отчёта
13 сообщений из 13, страница 1 из 1
Данные для отчёта
    #33560684
Igrok4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столкнулся вот с какой проблемой: после работы формы формируется таблица в БД и закрывается. На основе этой таблицы я сделал отчёт. И в просмотре он показывет всё как надо.
Потом при повторном запуске формы таблица перезаписывается с другими данными, но с той же структурой и именем. При попытке просмотреть отчёт появляется ошибка "Index tag is not found for Cursor object 'cursor1' "
Что надо исправить, чтобы всё заработало нормально? Спасибо!
...
Рейтинг: 0 / 0
Данные для отчёта
    #33560957
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то, тебе же указали на проблему в сообщении об ошибке. Нет указанного индексного тэга в таблице, которая "привязана" к курсору с именем Cursor1.

Открой отчет на модификацию, далее открой DataEnvironment и посмотри какая таблица связана с объектом с именем Cursor1 и какой индексный тэг там указан в качестве главного (свойство Order).

Далее уже сам разбирайся, почему у тебя пропал индекс в этой таблице.
...
Рейтинг: 0 / 0
Данные для отчёта
    #33561058
Igrok4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С этим понятно. Но когда убираю свойство Order, группировка в отчёте получается не такой какой была первоначально при создании отчёта.
...
Рейтинг: 0 / 0
Данные для отчёта
    #33561082
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда расшифруй все свои термины. Что ты подразумеваешь под фразами:

Igrok4после работы формы формируется таблица в БД
Это как? Постоянная таблица в контейнере базы данных создается?

Igrok4при повторном запуске формы таблица перезаписывается с другими данными, но с той же структурой и именем
А это о чем речь? Ты удаляешь старую таблицу и создаешь новую или же очищаешь таблицу от данных и наполняешь новыми без уничтожения старой таблицы?
...
Рейтинг: 0 / 0
Данные для отчёта
    #33561101
Igrok4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вернее не срабатывает группировка по второму полю.
Поле 1: Код валюты (N)
Поле 2: Состояние (L)
...
Рейтинг: 0 / 0
Данные для отчёта
    #33561169
Igrok4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Форма создаёт курсор, потом записи курсора копируются в таблицу в БД.
2. Закрываю форму, с закрытием всех таблиц.
3. Формирую отчёт мастером отчётов. (Ставлю группировки по 2 полям)
Смотрю отчёт, всё нормально.
4. Запускаю форму снова. Она удаляет старый файл с диска и записывает новый. Закрываю таблицу.
5. Хочу посмотреть отчёт, выдаёт ошибку.

Сделал отчёт вручную. Исправил свойства таблицы в DataEnvironment. Всё равно группировка не срабатывает.

Записи в таблице по порядку:
Код валюты, Состояние (.Т.), Тип (.Т.)
Код валюты, Состояние (.Т.), Тип (.F.)
Код валюты, Состояние (.F.), Тип (.Т.)
Код валюты, Состояние (.F.), Тип (.F.)

В отчёте получается:
Код валюты, Состояние (.Т.), Тип (.Т.)
Код валюты, Состояние (.F.), Тип (.T.)
Код валюты, Состояние (.Т.), Тип (.F.)
Код валюты, Состояние (.F.), Тип (.F.)
...
Рейтинг: 0 / 0
Данные для отчёта
    #33561175
Igrok4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4. Закрываю форму с закрытием всех таблиц.
...
Рейтинг: 0 / 0
Данные для отчёта
    #33561217
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делать постоянную таблицу для временых данных - это искать приключений

Для отчета вполне достаточно созданного курсора. Все. Не надо копировать данные в постоянную таблицу.

Если в качестве источника данных для отчета в DataEnvironment указана только одна таблица, то просто удали ее из DataEnvironment.

Затем, измени во всех объектах печати, признаках группировки и переменных отчета алиас таблицы на алиас создаваемого курсора.

Отчет должен запускаться в Default DataSession. Т.е. снята (не установлена) птичка с пункта меню Report - Private DataSession

Перед выполнением отчета делаешь

Код: plaintext
1.
2.
SELECT MyCursor
REPORT FORM MyReport.frx ...
...
Рейтинг: 0 / 0
Данные для отчёта
    #33561236
Igrok4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМДелать постоянную таблицу для временых данных - это искать приключений


Да я эту таблицу сделал чтобы посмотреть как отчёт будет делаться. А то опыта то мало :(
...
Рейтинг: 0 / 0
Данные для отчёта
    #33561497
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igrok4С этим понятно. Но когда убираю свойство Order, группировка в отчёте получается не такой какой была первоначально при создании отчёта.

Убираешь Order и в отчет данные идут в том порядке в котором они в таблице лежат. Явно не в том в котором тебе надо.

В первом случае индекс у тебя есть, а во втором его нет. на это и ругается. с этим и разбирайся.
...
Рейтинг: 0 / 0
Данные для отчёта
    #33562073
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Igrok4!

Мастер отчётов создаёт индекс для таблицы (а как он иначе упорядочение
сделает?), а ты и таблицу, и этот индекс убиваешь - вот и не работает.
Сделай через запрос с правильным Order by и не парься.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Данные для отчёта
    #33566886
Igrok4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо! Отчёт заработал.

Правда есть ещё один вопрос. В Detail есть поле SumBm берущее значение из курсора. В Group Footer то же самое поле, только на вкладке Calculate стоит суммирование. В соседнее поле в Group Footer мне надо помещать эту сумму прописью. Функция для этого есть, но как мне обратиться к значению поля именно в Group Footer, а не в Detail?
...
Рейтинг: 0 / 0
Данные для отчёта
    #33567797
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igrok4В Detail есть поле SumBm берущее значение из курсора. В Group Footer то же самое поле, только на вкладке Calculate стоит суммирование. В соседнее поле в Group Footer мне надо помещать эту сумму прописью. Функция для этого есть, но как мне обратиться к значению поля именно в Group Footer, а не в Detail?
Никак.

Создай переменную отчета с суммированием в пределах группы. Ее и используй как параметр функции.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Данные для отчёта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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