Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Проблема с отчетом


Автор: shurrik 5.4.2007, 04:31
Проблема в следующем. В приложенном рисунке отчет. Как сделать чтобы все было в одну строчку? группировку "Видов оказанных услуг" сделал. Но почему то все равно выводится пять строчек (пять услуг). Остальные колонки может тоже надо группировать? Что нужно в принципе в итоге. Необходимо чтобы было: один клиент - одна строчка - много услуг (а то выводит - сколько услуг, столько и строчек). Номера услуг надо заменить их названиями (названия в другой таблице, связаны по коду). Все что знал перепробовал и книгу перерыл. Безуспешно. Заранее благодарен!

Автор: shurrik 5.4.2007, 04:33
Сделано все на основе запроса. Услуги цифрами t1, t2, t3, t4, t5. В другой таблице наименования хранятся в колонке name_oper
Уже завтра должно быть готово. А у меня не получается. Помогите плз!!!
С помощью этой строчки в запросе выводятся в отчет коды "Виды оказанных услуг": Услуги: IIf(IsNull([t1]);'';Trim([t1])+', ')+IIf(IsNull([t2]);'';Trim([t2])+', ')+IIf(IsNull([t3]);'';Trim([t3])+', ')+IIf(IsNull([t4]);'';Trim([t4])+', ')+IIf(IsNull([t5]);'';Trim([t5])) Мож просто здесь что-нить дописать, чтобы выводилось наименование, а не код?

Автор: shurrik 5.4.2007, 08:09
Все упростилось. Осталось вывести в отчет услуги. Вот что находится в источнике данных в свойствах Отчета: 
Код
SELECT 
Payment.n_account,
Request.Date_Reg, 
Pay_.Min_date_rpay, 
Payment.sum_all, 
IIf([lico]=1,LTrim(RTrim([Request]![Fam])) AS ФИО, 
IIf([lico]=1,[Request]![pasp_seria]+" №"+Trim([Request]![pasp_n]),IIf(IsNull([Request]![dov_num]),"нет данных","№"+CStr([Request]![dov_num])+" от "+CStr([Request]![dov_date]))) AS Паспорт, 
LTrim(RTrim([nmnasp]))+", "+LTrim(RTrim([nmstrt]))+", "+LTrim(RTrim(CStr([dom_n])))+IIf(Trim([n_kv])="","",',  кв.'+LTrim(RTrim(CStr([n_kv])))) AS Адрес, Request.reg_n_year, 
get_quickly(Request.quickly) AS [срочность], 
Payment.date_pay, 
Request.ready_date FROM ((raion INNER JOIN ((Request INNER JOIN clnasp ON (Request.craion = clnasp.craion) 
AND (Request.cnasp = clnasp.nnasp)) INNER JOIN clstrt ON (Request.craion = clstrt.craion) 
AND (Request.cstrt = clstrt.nstrt) 
AND (Request.cnasp = clstrt.nnasp)) ON raion.craion = Request.craion) LEFT JOIN Payment ON Request.Reg_Num = Payment.Reg_Num) INNER JOIN Pay_ ON Request.Reg_Num = Pay_.Reg_Num WHERE (((Pay_.Min_date_rpay)>=[Forms]![Реестр_физ]![ПолеДата1].[Value] 
And (Pay_.Min_date_rpay)<=[Forms]![Реестр_физ]![ПолеДата2].[Value])) 
ORDER BY Request.reg_n_year;

Как сюда с таблицы tarif запихать name_oper (услугу), чтобы потом выводилось в отчете? 

Автор: Akina 5.4.2007, 09:54

M
Akina
Вместо выделения кода жирным шрифтом используйте тег "Код"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)