powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите с отчетом, связать таблицы
15 сообщений из 15, страница 1 из 1
Помогите с отчетом, связать таблицы
    #32865973
Фотография help123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть две таблицы: buy(покупатель),с полями buyerk(код покупателя),
buyer (название покупателя) и paymbuy(оплаты покупателя) с полями
buyerk(код покупателя) dates(дата платежа) sums(сума платежа).
Как сделать отчет такого плана:
покупатель1
датаплатежа1 сума1
датаплатежа2 сума2
датаплатежа3 сума3
...................
покупатель2
датаплатежа1 сума1
датаплатежа2 сума2
датаплатежа3 сума3
..................
..........
..................
ну тоесть вывести все платежи по каждому покупателю.
Тоесть, где именно надо размещать поля в конструкторе отчета
и т.д.


Сори, я только учусь....
...
Рейтинг: 0 / 0
Помогите с отчетом, связать таблицы
    #32865974
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаешь временую таблицу в которой собираешь обе таблиы в одну, делаешь индекс по покупателю ну и в отчете используешь группировку по покупателю
...
Рейтинг: 0 / 0
Помогите с отчетом, связать таблицы
    #32865982
Фотография help123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BurnДелаешь временую таблицу в которой собираешь обе таблиы в одну, делаешь индекс по покупателю ну и в отчете используешь группировку по покупателю

А можно поподробнее, и есть ли другие способы-чем сливать 2 таблицы в одну
...
Рейтинг: 0 / 0
Помогите с отчетом, связать таблицы
    #32866005
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
help123А можно поподробнее, и есть ли другие способы-чем сливать 2 таблицы в одну
Можно. Через Relation.

Открываешь DataEnvironment твоего отчета (пункт меню View, подпункт DataEnvironment) и добавляешь в него твои 2 таблицы (правой кнопкой мыши внутри DataEnvironment, пункт меню Add).

В качестве главной таблицы выбираем buy. Это свойство InitialSelectedAlias в собственно DataEnvironment. Надо указать там таблицу buy.

В подчиненной таблице paymbuy устанавливаешь главный индекс по полю buyerk (в окне Properties свойство Order выбираешь ранее созданный индексный тэг)

Для организации связи нажимаешь левой клавишей мыши на поле buyerk в таблице buy и не отпуская клавиши мыши тащишь ее на название индексного тэга по полю buyerk в таблице paymbuy.

Именно так. Связь от поля к индексу.

Но такая связь имеет тип один-к-одному. Чтобы она стала типа один-ко-многим надо щелкнуть по линии связи и изменить ее свойство OneToMany на значение .T.

Осталось только упорядочить главную таблицу в алфавитном порядке названий покупателей. Т.е. установить ее свойство Order в индексный тэг по полю buyer.

Теперь переходим собственно к отчету.

Пункт меню Report, подпункт DataGrouping. В качестве признака группировки указываем поле buy.buyerk.

В отчете появляются 2 дополнительные полосы отчета: Group Header и Group Footer.

В полосе Group Header распологаешь поля таблицы buy, а в полосе Detail поля таблицы paymbuy. Для ускорения этого процесса можно щелкнув левой клавишей мыши на нужное поле таблицы в DataEnvironment отчета не отпуская клавишу мыши перетащить поле в область отчета и отпустить клавишу мыши.

Но это простейший отчет. В более сложных случаях оптимальным является именно создание временных таблиц. Посмотри некоторые решения по отчетам здесь

http://www.foxclub.ru/sol/index.php?act=view&id=165
...
Рейтинг: 0 / 0
Помогите с отчетом, связать таблицы
    #32866028
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>А можно поподробнее, и есть ли другие способы-чем сливать 2 таблицы в одну
Действительно можно - невнимательно прочитал;)

>В качестве главной таблицы выбираем buy
А зачем? В качестве главной - paymbuy, связываем ее релейшином по buyerk с buy, групируем по buyerk, в заголовке группы выводим информацию из buy, все остальное из paymbuy
...
Рейтинг: 0 / 0
Помогите с отчетом, связать таблицы
    #32866044
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Burn>В качестве главной таблицы выбираем buy
А зачем? В качестве главной - paymbuy, связываем ее релейшином по buyerk с buy, групируем по buyerk, в заголовке группы выводим информацию из buy, все остальное из paymbuy
Вопрос в упрядочивании записей по покупателям по алфавиту (или в нужном порядке). Если идти от сумм (paymbuy) - это становиться очень проблематично.
...
Рейтинг: 0 / 0
Помогите с отчетом, связать таблицы
    #32866093
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Вопрос в упрядочивании записей по покупателям по алфавиту
Убедил:)
Но в вопросе об упорядочивании ничего:p
...
Рейтинг: 0 / 0
Помогите с отчетом, связать таблицы
    #32866785
Фотография help123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо Вам Владимир и Burn, разобрался.
Вот такой еще вопрос напрашивается:
если представить что таблицы buy и paymbuy это временные курсоры созданные програмно - то как програмно подготовить между ними такую-же связь с помощью set relation.

Заранее благодарен за неоценимую помощь.....
...
Рейтинг: 0 / 0
Помогите с отчетом, связать таблицы
    #32866843
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если представить что таблицы buy и paymbuy это временные курсоры созданные програмно - то как програмно подготовить между ними такую-же связь с помощью set relation
Точно также - просто после создания курсора его надо приндексировать вручную, командой INDEX до запуска отчета. Затем все также как описал Владимир
...
Рейтинг: 0 / 0
Помогите с отчетом, связать таблицы
    #32868275
Фотография help123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Burn если представить что таблицы buy и paymbuy это временные курсоры созданные програмно - то как програмно подготовить между ними такую-же связь с помощью set relation
Точно также - просто после создания курсора его надо приндексировать вручную, командой INDEX до запуска отчета. Затем все также как описал Владимир
Делаю так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
&& begin cSELL
SELECT sellerk AS sellerk, seller AS seller FROM tranzit!sell;
WHERE sell.represent=.T. ORDER BY sell.seller ASC;
INTO CURSOR csell NoFilter
&& end

&& begin cPAYMSELL
SELECT sellerk AS sellerk, dates AS dates,;
	summs AS summs, payeddog AS payeddog, paynum AS paynum;
FROM tranzit!paymsell;
WHERE paymsell.dates>=v_rfrom .AND. paymsell.dates<=v_rto;
 ORDER BY paymsell.dates ASC;
INTO CURSOR cpaymsell NoFilter
&& end

SELECT cpaymsell
INDEX ON sellerk TAG sellerk
SELECT csell
SET RELATION TO sellerk INTO cpaymsell
SET SKIP cpaymsell

REPORT FORM rpaysell.frx PREVIEW
по set skip вылетает непонятная ошибка.... что не так делаю.
И еще.. по нажатию на кнопку "Отчет" в форме paymsell у меня эта форма
не пропадает, а остается неактивная на переднеп плане... а отчет позади...
...
Рейтинг: 0 / 0
Помогите с отчетом, связать таблицы
    #32868282
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
SET SKIP TO cpaymsell
...
Рейтинг: 0 / 0
Помогите с отчетом, связать таблицы
    #32868294
Фотография help123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hel!Riser
Код: plaintext
SET SKIP TO cpaymsell

Приветствую Вас Hel!Riser, большущее спасибо => все ошибки по невнимательности.
А С ОКОШКОМ ЧТО МОЖНО СДЕЛАТЬ???
...
Рейтинг: 0 / 0
Помогите с отчетом, связать таблицы
    #32868314
Фотография help123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

В СМЫСЛЕ: по нажатию на кнопку "Отчет" в форме paymsell у меня эта форма
(paymsell) не пропадает, а остается неактивная на переднем плане... а отчет позади...
...
Рейтинг: 0 / 0
Помогите с отчетом, связать таблицы
    #32868390
Фотография Hel!Riser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может ворма твоя имеет свойство быть AlwaysOnTop?! или создать форму и в REPORT FORM пользуй IN WINDOW
...
Рейтинг: 0 / 0
Помогите с отчетом, связать таблицы
    #32868409
Фотография help123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hel!Riserможет ворма твоя имеет свойство быть AlwaysOnTop?! или создать форму и в REPORT FORM пользуй IN WINDOW
УУППСС!!! действительно стояло AlwaysOnTop
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите с отчетом, связать таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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