Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите с отчетом, связать таблицы / 15 сообщений из 15, страница 1 из 1
14.01.2005, 22:15
    #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
14.01.2005, 22:20
    #32865974
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с отчетом, связать таблицы
Делаешь временую таблицу в которой собираешь обе таблиы в одну, делаешь индекс по покупателю ну и в отчете используешь группировку по покупателю
...
Рейтинг: 0 / 0
14.01.2005, 22:32
    #32865982
help123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с отчетом, связать таблицы
BurnДелаешь временую таблицу в которой собираешь обе таблиы в одну, делаешь индекс по покупателю ну и в отчете используешь группировку по покупателю

А можно поподробнее, и есть ли другие способы-чем сливать 2 таблицы в одну
...
Рейтинг: 0 / 0
14.01.2005, 23:14
    #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
14.01.2005, 23:49
    #32866028
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с отчетом, связать таблицы
>А можно поподробнее, и есть ли другие способы-чем сливать 2 таблицы в одну
Действительно можно - невнимательно прочитал;)

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

Заранее благодарен за неоценимую помощь.....
...
Рейтинг: 0 / 0
16.01.2005, 23:07
    #32866843
Burn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с отчетом, связать таблицы
если представить что таблицы buy и paymbuy это временные курсоры созданные програмно - то как програмно подготовить между ними такую-же связь с помощью set relation
Точно также - просто после создания курсора его надо приндексировать вручную, командой INDEX до запуска отчета. Затем все также как описал Владимир
...
Рейтинг: 0 / 0
17.01.2005, 16:16
    #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
17.01.2005, 16:18
    #32868282
Hel!Riser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с отчетом, связать таблицы
Код: plaintext
SET SKIP TO cpaymsell
...
Рейтинг: 0 / 0
17.01.2005, 16:21
    #32868294
help123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с отчетом, связать таблицы
Hel!Riser
Код: plaintext
SET SKIP TO cpaymsell

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

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


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