Программы "Простой софт" www.prostoysoft.ru

ВНИМАНИЕ! РЕКЛАМНЫЕ СООБЩЕНИЯ И ГИПЕРССЫЛКИ В ФОРУМЕ ЗАПРЕЩЕНЫ (посты удаляются автоматически часто с пользователем)
Текущее время: 28.10.2024 21:20

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Re: налоговая накладная
СообщениеДобавлено: 30.09.2010 01:30 
Не в сети

Зарегистрирован: 24.07.2010 13:37
Сообщения: 22
создал представление: qdfBetriesausgaben

SELECT
tblKalender.Monat,
SUM(qdfArrivals.AmountEnd) AS Wareneinkauf,
SUM(qdfPrivatesKfz.Kosten10CentKmCalc) AS Fahrkosten,
SUM(tblWerbung.Kosten) AS Werbung,
SUM(tblBuromaterial.SaleAmount) AS Buromaterial,
SUM(tblTelefonInternet.SaleAmount) AS Telefon_Internet,
SUM(tblBeratungskosten.SaleAmount) AS Beratungskosten,
SUM(tblSonstige.SaleAmount) AS sonstige_Betriebsausgaben
FROM ((((((tblKalender LEFT JOIN qdfArrivals ON tblKalender.Monat=Month(qdfArrivals.DocumentDate))
LEFT JOIN qdfPrivatesKfz ON tblKalender.Monat=Month(qdfPrivatesKfz.Datum))
LEFT JOIN tblWerbung ON tblKalender.Monat=Month(tblWerbung.Datum))
LEFT JOIN tblBuromaterial ON tblKalender.Monat=Month(tblBuromaterial.Datum))
LEFT JOIN tblTelefonInternet ON tblKalender.Monat=Month(tblTelefonInternet.Datum))
LEFT JOIN tblBeratungskosten ON tblKalender.Monat=Month(tblBeratungskosten.Datum))
LEFT JOIN tblSonstige ON tblKalender.Monat=Month(tblSonstige.Datum)
GROUP BY tblKalender.Monat

Это вывод расходов по месяцам по наименованиям(Канцелярские товары, расходы на рекламу, телефон и т.д.), т.е. суммируются для каждого месяца.
Теперь нужно сделать шаблон в для вывода этой таблицы в Exel и на принтер. Такая конструкция: [qdfBetriesausgaben_Monat_Wareneinkauf_Fahrkosten_Werbung] почему то не хочет работать, хотя в других шаблонах выводит полностью таблицу в документ.
Где вообще можно почитать про создание шаблонов?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: налоговая накладная
СообщениеДобавлено: 30.09.2010 09:48 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Если представление создалось и работает, повторений полей нет,
то должна такая закладка обрабатываться. Посмотрите при обработке в строку-статус программы, там ничего нехорошего не пишется?
Попробуйте удалить из имени закладки все поля. Тогда обработается?
Затем последовательно добавляйте поле за полем, чтобы выяснить с каким именно полем проблема.
Вы можете прислать нам вашу БД с файлом-шаблоном в поддержку. При этом все данные и лишние таблицы можно удалить.
Почитать про создание шаблонов можно в подсказке на желтом фоне на форме создания шаблона, а также в справке (какие-то моменты там могут быть не освещены).

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: налоговая накладная
СообщениеДобавлено: 04.10.2010 12:30 
Не в сети

Зарегистрирован: 24.07.2010 13:37
Сообщения: 22
всё ясно, в шаблон можно вставить только одну строчку из текущей таблицы, или подчинённую таблицу для данной строчки.
А как сделать произвольный Exel-документ с данными из всей таблицы qdfBetriesausgaben(причём представление должно быть выведено в транспонированном виде)?
И ещё, в свойствах таблицы, в "Условиях" для подчинённых таблиц работает только "=", как включить другие операции сравнения?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: налоговая накладная
СообщениеДобавлено: 04.10.2010 14:29 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Да, как правило, в конечном документе требуется одна строчка главной таблицы и все записи подчиненной таблицы (или нескольких).
Но можно и всю главную таблицу вставить, если дать имя закладке, соответствующее имени главной таблицы (например "qdfMain").

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: налоговая накладная
СообщениеДобавлено: 08.10.2010 02:00 
Не в сети

Зарегистрирован: 24.07.2010 13:37
Сообщения: 22
как задавать "Доп. условия" для подчинённых таблиц(мне необходимо сделать вывод в указанном диапазоне значений, например за текущий год(в подчинённой таблице есть поле "Date"))?
И ещё один вопрос, как сделать чтобы столбцы выводились строчками в Excel-документе, как это описать в шаблоне?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: налоговая накладная
СообщениеДобавлено: 08.10.2010 09:27 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
> в указанном диапазоне значений, за текущий год (в подчинённой таблице есть поле "Date")
В любой главной таблице есть поле "AddTime" (Время добавления) типа "Дата и время". Вы можете задать фильтр:
"Время добавления = Текущий год"
Затем нажать кнопку "SQL" (на панели инструментов примерно посередине) и посмотреть, как составилось условие.
Далее добавить "Доп. условия" по аналогии.
Должно выглядеть:
YEAR(AddTime) = 2010
или
YEAR(AddTime) = YEAR(NOW)

Для генерации документа по шаблону нужно сначала добиться того, чтобы все данные были представлены в исчерпывающем и правильном виде в главной и подчиненных таблицах. Все вычисляемые поля должны быть созданы, все представления тоже (в т.ч. и с перевернутыми строками в виде столбцов). И только после этого нужно вставить в файл-шаблон закладку с именем этой подчиненной таблицы.
Все данные переносятся в том виде, как представлены, при генерации документа. Невозможно с ними что делать "на лету", при генерации документа.
Невозможно задать фильтры. Все данные в подчиненных таблицах должны быть уже отфильтрованы по текущей записи в главной таблице.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: налоговая накладная
СообщениеДобавлено: 08.10.2010 12:47 
Не в сети

Зарегистрирован: 24.07.2010 13:37
Сообщения: 22
>Все вычисляемые поля должны быть созданы, все представления тоже (в т.ч. и с перевернутыми строками в виде столбцов).
вот здесь по подробней пожалуйста, как имея одно представление со столбцами разных типов сделать другое в котором строками были бы столбцы из первого(транспонирование)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: налоговая накладная
СообщениеДобавлено: 08.10.2010 14:04 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Как делать представления - это уже другой вопрос. В Access SQL есть ключевое слово TRANSFORM, в MS SQL SERVER - другие конструкции. Я не вникаю в детали вашей ситуации (что столбцы разных типов и т.п.), т.к. вы не сообщаете всех деталей и конкретного вашего примера.
Часто делают группировку по полю типа "Дата и время" и по столбцам пускают названия месяцев - очень частый пример перекрестного запроса.
Вам надо было бы сразу сказать, какие у вас таблицы с данными (на этой вкладке) и какая таблица нужна в документе в итоге. Можно привести пару скриншотов, где изобразить все хоть от руки нарисовав.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: налоговая накладная
СообщениеДобавлено: 08.10.2010 22:27 
Не в сети

Зарегистрирован: 24.07.2010 13:37
Сообщения: 22
я ведь вам посылал документ который мне нужно распечатать, он назывался Anlage-EKS-Erklaerung-Einkommen-Selbstaendiger.pdf. Столбцы в данном документе представлены месяцами с просуммированными расходами за текущий период(т.е. за месяц). Строчки представляют из себя вид расходов(например: расходы на рекламу, телефон и интернет, инвестиции и т.д.). Я создал представление qdfBetriesausgaben (SQL запрос которого описан в посте за 29 сен 2010 23:30 ), в котором первым столбцом идёт Дата(тип Дата и время) и далее наименования расходов(расходы на рекламу, телефон и интернет, инвестиции и т.д.), теперь хочу создать документ в Excele с данными из моего представления qdfBetriesausgaben и который бы ничем не отличался от Anlage-EKS-Erklaerung-Einkommen-Selbstaendiger.pdf.
Если нужно, готов выслать вам мою базу данных.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: налоговая накладная
СообщениеДобавлено: 08.10.2010 22:58 
Не в сети

Зарегистрирован: 24.07.2010 13:37
Сообщения: 22
вот обновлённая версия представления qdfBetriesausgaben:
SELECT
tblKalender.Datum,
SUM(qdfArrivals.AmountEnd) AS Wareneinkauf,
SUM(qdfPrivatesKfz.Kosten10CentKmCalc) AS Fahrkosten,
SUM(tblWerbung.Kosten) AS Werbung,
SUM(tblBuromaterial.SaleAmount) AS Buromaterial,
SUM(tblTelefonInternet.SaleAmount) AS TelefonInternet,
SUM(tblBeratungskosten.SaleAmount) AS Beratungskosten,
SUM(tblSonstige.SaleAmount) AS sonstigeBetriebsausgaben
FROM ((((((tblKalender LEFT JOIN qdfArrivals ON tblKalender.Monat=Month(qdfArrivals.DocumentDate))
LEFT JOIN qdfPrivatesKfz ON tblKalender.Monat=Month(qdfPrivatesKfz.Datum))
LEFT JOIN tblWerbung ON tblKalender.Monat=Month(tblWerbung.Datum))
LEFT JOIN tblBuromaterial ON tblKalender.Monat=Month(tblBuromaterial.Datum))
LEFT JOIN tblTelefonInternet ON tblKalender.Monat=Month(tblTelefonInternet.Datum))
LEFT JOIN tblBeratungskosten ON tblKalender.Monat=Month(tblBeratungskosten.Datum))
LEFT JOIN tblSonstige ON tblKalender.Monat=Month(tblSonstige.Datum)
GROUP BY tblKalender.Datum

первым столбцом в котором идёт Дата, затем Wareneinkauf(просуммированный по месяцам) соответствующий строке B1-Wareneinkauf в документе Anlage-EKS-Erklaerung-Einkommen-Selbstaendiger.pdf, далее столбец Fahrkosten соответствующий B5.2-privates Kfz... и т.д.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: налоговая накладная
СообщениеДобавлено: 09.10.2010 09:23 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Все документы, скриншоты желательно прикреплять здесь, в обсуждаемой теме. В вашем pdf-документе несколько таблиц и он многостраничный. Таблицы в нем с неподписанными полями (только цифры какие-то от 1 до 7). Куда именно смотреть? Нужно упростить задачу и привести всего лишь один скриншот с целевой таблицей. Также нужно подписать все по-русски (или по-английский). Немецким, китайским (на котором нам также бывало присылали документы) и другими популярными языками, сори, мы не владеем. Только русский и английский. И то же самое касается приведенного вами текста запроса (подписи полей). Мы можем заняться реализацией данной задачи на платной основе, цена договорная. Вам это подходит? А пока повторю, таблицу можно напечатать в документе лишь в том виде, в котором она представлена. Строки нельзя сделать столбцами на лету, при генерации документа. Можно создать еще один запрос на основе данного, где по полям пойдут месяцы. И после этого вставить закладку.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: налоговая накладная
СообщениеДобавлено: 09.10.2010 12:04 
Не в сети

Зарегистрирован: 24.07.2010 13:37
Сообщения: 22
Дело даже не в немецкости или китайскости документа, я же вам написал какой столбец из запроса в какую строчку документа вписывать(B1-Wareneinkauf , B5.2-privates Kfz...).
>Можно создать еще один запрос на основе данного, где по полям пойдут месяцы. И после этого вставить закладку.
Можете привести пример подобного запроса, для самой простейшей таблицы? а я уже попытаюсь перенести его на свой случай


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: налоговая накладная
СообщениеДобавлено: 09.10.2010 15:01 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Вот, допустим, есть таблица tblSales с полями SaleDate, SaleAmount:

SaleDate SaleAmount Product
2010-09-28 1000 Product1
2010-09-29 1000 Product2
2010-09-30 1000 Product3
2010-10-01 1000 Product4
2010-10-02 1000 Product5

Запрос с группировкой и месяцами по полям можно написать так:
SELECT
SUM(IIF(MONTH(SaleDate)=9, SaleAmount, 0)) AS September,
SUM(IIF(MONTH(SaleDate)=10, SaleAmount, 0)) AS October
FROM tblSales WHERE YEAR(SaleDate) = 2010

Можно указать все 12 месяцев года.
Если нужна еще группировка по продукту, то нужно добавить
GROUP BY Product
и включить это поле в часть select на первое место:
SELECT Product, SUM(IIF(MONTH(SaleDate)=9, SaleAmount, 0)) AS September, SUM(IIF(MONTH(SaleDate)=10, SaleAmount, 0)) AS October
FROM tblSales
GROUP BY Product
WHERE YEAR(SaleDate) = 2010

Есть и другие конструкции для получения перекрестных запросов.
Вообще говоря, по синтаксису SQL мы не консультируем, поскольку это не наша разработка. Рекомендуем вам задавать такие вопросы на форумах sql точка ru в разделе Access (или MS SQL Server). Спецы там отвечают быстро, в течение нескольких минут. Важно только правильно поставить вопрос.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: налоговая накладная
СообщениеДобавлено: 10.10.2010 01:01 
Не в сети

Зарегистрирован: 24.07.2010 13:37
Сообщения: 22
при попытке создать новое представление выскакивает ошибка: "Не удалось создать представление", это только у меня так? Но в итоге оно всё же создаётся :D
и ещё, не хочет работать конструкция TRANSFORM, если у существующего представления(тестового) переписать SQL запрос:

TRANSFORM Sum(qdfArrivals.AmountEnd) AS total
SELECT qdfArrivals.StoreCalc
FROM qdfArrivals
GROUP BY qdfArrivals.StoreCalc
PIVOT qdfArrivals.SupplierCalc

изменения проходят удачно, но после перезагрузки программы представление бесследно исчезает)
если создавать новое с таким SQL запросом то выскакивает ошибка 2147467259.
Пример брался отсюда: ewbi.blogs.com/develops/2005/01/access_sql_tran.html


Вложения:
oshibka2147467259.jpg
oshibka2147467259.jpg [ 46.33 КБ | Просмотров: 87332 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: налоговая накладная
СообщениеДобавлено: 19.02.2011 22:57 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Попробуйте на последней версии программы.
Если не заработает, то да, конструкции TRANSFORM и UNION в программе не получится использовать.
(Но можно осторожно попробовать создать соответствующие представления из-под Access.)

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB