powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подкинте идею - как сделать
14 сообщений из 14, страница 1 из 1
Подкинте идею - как сделать
    #37859874
TallinAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Есть файл базы данных с записью 10 полей
Надо сделать отчет, в который в зависимости от некоторых условий попадает разное
кол-во полей ( или 10, или 6, или 3 и тд) при условии , что между столбцами отчета не будет
разрывов

Благодарю
...
Рейтинг: 0 / 0
Подкинте идею - как сделать
    #37859945
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делайте отчет на курсоре с фиксированными названиями полей. И в него записывайте то, что нужно. Лишние поля можно сделать невидимыми по условию.
...
Рейтинг: 0 / 0
Подкинте идею - как сделать
    #37859979
TallinAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ffffffffffffffff,
Но тогда получится, что если надо 1 поле и 10, то первый столбец отчета с крайней левой
стороны, а второй столбец в крайней правой стороне печатного листа
...
Рейтинг: 0 / 0
Подкинте идею - как сделать
    #37859998
TallinAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и еще---Например, второе поле базы НЕ может стоять левее первого в отчете(некоторое упрощение)
...
Рейтинг: 0 / 0
Подкинте идею - как сделать
    #37860030
DMITRY_PEREDISTY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выводите в excel, лишние поля схлопывайте делая их ширину нулевой.
...
Рейтинг: 0 / 0
Подкинте идею - как сделать
    #37860042
TallinAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DMITRY_PEREDISTY,
На данный момент так и делаю, но клиент капризничает по этому поводу
...
Рейтинг: 0 / 0
Подкинте идею - как сделать
    #37860107
DMITRY_PEREDISTY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Знчит придется вам усложнить ваш вывод в Excel, сделать его интеллектуальным, проверять нличие данных в полях и потом выводить в столбцы по порядку, то есть программно это прописать. Стандартно это не решить.
...
Рейтинг: 0 / 0
Подкинте идею - как сделать
    #37860284
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TallinAlДа и еще---Например, второе поле базы НЕ может стоять левее первого в отчете(некоторое упрощение)Т.е. n-е поле не может быть левее n+1 -го ?
И еще: может так быть, что условию ни одно поле не удовлетворяет?
...
Рейтинг: 0 / 0
Подкинте идею - как сделать
    #37860375
TallinAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jonny540,

Т.е. n-е поле не может быть левее n+1 -го ? ----Наоборот, n+1 не может быть левее n-ого


Хоть одно поле всегда будет удовлетворять условию
...
Рейтинг: 0 / 0
Подкинте идею - как сделать
    #37860502
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TallinAlJonny540,
Т.е. n-е поле не может быть левее n+1 -го ? ----Наоборот, n+1 не может быть левее n-ого
Хоть одно поле всегда будет удовлетворять условиюТут недавно что-то похожее было 12627810
Т.е. делаете таблицу из нужных полей, дописываете остальные поля (до 10), к примеру, ALTER TABLE ADD...
с значением " ", в отчете - 10 символьных текстбокса...
...
Рейтинг: 0 / 0
Подкинте идею - как сделать
    #37860599
FoxF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Используйте команду
Код: sql
1.
CREATE TABLE <имяТаблицы> ...

для создания временной таблицы с некоторыми постоянными полями,

а затем, в цикле, с помощью команды
Код: sql
1.
ALTER TABLE <имяТаблицы> ADD COLUMN <имяКолонки> <типПоля> ...


добавьте нужные поля в зависимости от ваших "некоторых условий".

Затем заполните эту вновь сформированную временную таблицу данными и уже именно - ее используйте для вывода отчета.
...
Рейтинг: 0 / 0
Подкинте идею - как сделать
    #37860716
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По-моему, мой ответ во втором сообщении темы полностью решает задачу автора. Но он его не понял.
...
Рейтинг: 0 / 0
Подкинте идею - как сделать
    #37860729
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так, для справки, вообще-то, столбцы в Excel можно удалять. Физически. Без возможности восстановления. Т.е. можно вывести все 10 столбцов, а в конце удалить лишние.

Однако, если Вы делаете вывод в Excel, то не понятно, что мешает выводить только то, что нужно? Вы же никак не ограничены в том, что и куда класть.

Если Вы делаете стандартный отчет FoxPro, то тут есть проблемы. Однако тоже решаемые. Начиная с уже предложенных экзотических способов до использования объекта ReportListener и его метода Render(), где вполне можно запрограммировать как сокрытие данных, так и сдвиг, в случае, если предыдущие столбцы не были распечатаны.

Впрочем, все это баловство. В конце концов придете к мысли использовать PivoteTable (куб) и пусть пользователи уже сами в Excel отображают нужное количество столбцов и разрезов.
...
Рейтинг: 0 / 0
Подкинте идею - как сделать
    #37860861
TallinAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВСЕХ БЛАГОДАРЮ
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подкинте идею - как сделать
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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