powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос по формированию отчета
10 сообщений из 10, страница 1 из 1
Вопрос по формированию отчета
    #36316666
jyravlik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! формирую 2 таблицы. в одной перечисляются бригады людей, в которые входят до 4-х человек. т.е. в поля вносятся табельные номера
поле1 | поле2 | поле3 | поле4 |
5001 | 5002 | 2004 | 2041 |
и таблица 2, где формируются списки данных по этим людям.
поле1 | поле2 |
ФИО | паспорт |
нужно сформировать отчет, чтобы на каждом листе было по 4 человека, причем не списком, а данные фигурируют внутри текста.
как это сделать?
надеюсь хоть кто-то поймет что мне нужно:)
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #36318844
Sea_Cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"а данные фигурируют внутри текста" - сильно сказано.
Сформулируйте четко для себя задачу, определитесь, по какому ключевому полю полю будут связаны таблицы, нарисуйте макет отчете - и вопросы отпадут сами собой. Правильно поставленный вопрос уже содержит 50% ответа.
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #36318938
jyravlik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как обычно ответы здесь супер однозначные и несут кучу информации...)))))))))
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #36318951
jyravlik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вместо того, чтобы цепляться как написано, лучше бы что-нибудь толковое написали, а не засоряли форум ненужными и непродуктивными советами
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #36318970
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Sea_Cat
> Правильно поставленный вопрос уже содержит 50% ответа.

+1024

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #36319014
jyravlikвместо того, чтобы цепляться как написано, лучше бы что-нибудь толковое написали, а не засоряли форум ненужными и непродуктивными советамиСударь, прежде чем учить кого-то чему-то и чего-то от кого-то требовать, тем более требовать от тех, кто Вам ничем не обязан, научитесь-ка для начала сами правильно формулировать и задавать вопросы.
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #36319105
GermanGM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 jyravlik,
вы избрали не лучший способ получить совет. И выбранный Вами способ также один из самых нерациональных. Целесообразнее было бы сформировать первую таблицу в виде: (Код бригады /может быть условным/) (Код работника). Это позволит тривиально установить RELATION с дочерней таблицей, содержащей персональные данные, да и отчет получится проще. Иначе не избежать ужОса типа IIF(seek(ПолеN,[Таблица2]),таблица2.фио,[])
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #36319136
GoshaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я понял задачу, то что-то наподобие этого.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select cr1.fio as brigadir,  
iif(isnull(cr1.fio),'',cr1.fio)+' '+iif(isnull(cr2.fio),'',cr2.fio)+' '+iif(isnull(cr3.fio),'',cr3.fio)+' '+iif(isnull(cr4.fio),'',cr4.fio) as spisok
from brigada
left join rabotniki cr1
on tano1=tano
left join rabotniki cr2
on tano2=tano
left join rabotniki cr3
on tano3=tano
left join rabotniki cr4
on tano4=tano
rabotniki - справочник работников
tano - табельный номер в справочнике работников

brigada - справочник бригад
tano1, tano2, tano3, tano4 - табельные номера в составе бригады
пусть бригадир будет записан в tano1.
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #36319298
quxix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GoshaS
Код: plaintext
1.
2.
3.
select cr1.fio as brigadir,  
iif(isnull(cr1.fio),'',cr1.fio)+' '+iif(isnull(cr2.fio),'',cr2.fio)+' '+iif(isnull(cr3.fio),'',cr3.fio)+' '+iif(isnull(cr4.fio),'',cr4.fio) as spisok
from ...

Код: plaintext
1.
2.
select cr1.fio as brigadir,  
nvl(cr1.fio,'')+' '+nvl(cr2.fio,'')+' '+nvl(cr3.fio,'')+' '+nvl(cr4.fio,'') as spisok
from ...
...
Рейтинг: 0 / 0
Вопрос по формированию отчета
    #36321932
Sea_Cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Автор jyravlik
Не нужно обижаться и флудить ! Неумение четко выразить свою мысль свидетельствует о проблемах с логикой мышления, а без этого сложно разрабатывать любые алгоритмы.
В данном случае видна очевидная ошибка в проектировании структуры таблиц. Есть два объекта - работник и бригада, связанные отношением входимости. Но в Вашем случае описание объекта "бригада" (таблица 1) содержит не свойственные ему реквизиты - список работников. Фактически, это уже новый объект, который несет функцию связи работников и бригад и он необходим, если состав и численность бригад постоянно меняются со временем. Но, тогда он должен описываться отдельной таблицей типа: КОД_РАБОТНИКА | КОД_БРИГАДЫ | ДАТА_НАЧАЛА | ДАТА_ОКОНЧАНИЯ
Если же состав бригад стабильный (в рамках отчетного периода), достаточно в реквизиты работника добавить код бригады. Это упростить процесс выборки и построение отчетов. Сделайте SELECT из таблицы 2 с сортировкой по номеру бригады, а в отчете - группировку по этому полю с опцией "начать с нового листа" - и все Ваши проблемы решены.
Добавлю, что Вы будете делать, если завтра Ваше руководство решит сделать бригады по 6 человек ? Тогда по Вашей схеме нужно будет переделать все - структуру таблиц, выборку данных и отчет.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос по формированию отчета
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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