|
|
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
Суть проблемы: есть две таблицы -- Приход, Отгрузка. В первой поля -- Дата, код клиента, сумма оплаты, во второй -- Дата, код клиента, сумма отгрузки. Суммы в таблицах не совпадают (работаем по предоплате). Надо сформировать отчёт об обороте средств по каждому клиенту (приход и расход) за определённый период (на отдельном листе), в идеале -- вывести сальдо и распечатать (желательно с минимальным использованием рук за счёт использования головы). Поиск по форуму не помог (а может не там искал?). Раньше решал проблему (ввиду слабого знания Access) с помощью подчинённого отчёта с, например, приходом, запихнутого в отчёт с расходом. Когда клиентов стало больше ста, то процесс многократного набивания кода клиента для вывода отчёта и последующей распечатки стал ежемесячным кошмаром. Если не сложно, помогите пожалуйста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2004, 22:28 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
Правильно ли я понимаю, что нужно читать только три последних строчки? Требуется способ обойтись без многократного набивания кода? Тогда встречный вопрос: отчет по всем клиентам или по одному? Если по всем, то зачем задавать код? А если по одному, то как Аксесс узнает, по какому, если не задавать код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2004, 22:50 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
Как бы поточнее выразиться -- отчёт по всем, по которым есть изменения, но выводится по одному клиенту на страницу, а не скопом. По поводу набивания кода -- напрямую проистекает из-за извращения с подчинёнными отчётами (вводим код при выводе отчёта, потом второго, потом ещё пару-тройку раз при выводе на печать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2004, 23:05 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
Каким образом задается, по каким клиентам печатать отчет? Есть какая-то проверка, где есть изменения? Или это вводится вручную? В любом случае, помимо этого ничего вводиться не должно. Если программа просит что-то вводить - значит в программе есть ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2004, 23:10 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
Проверки изменений нет :( Отчёты строятся на базе запросов, которые из "больших" таблиц (Код клиента, цена покупки - продажи, суммы, перевозка и т. д.) отбирают только три поля. В этих запросах содержится условие отбора, т.е. я в конструкторе в условии отбора набрал "Введите код" для кода клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2004, 23:20 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
Ну так оно и исполняет этот "Введите код". Вопрос-то в чем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2004, 23:43 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
Вопрос -- о возможности сведения данных без создания подчинённого отчёта (избавиться от МНОГОКРАТНОГО введения кода клиента) и об автоматизции процесса распечатки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2004, 23:58 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
В принципе, можно сделать так (если только мне сейчас удастся объяснить это через форум). Способ 1. Заводим временную таблицу, заносим в нее коды нужных клиентов. В запросе сравниваем в этой таблицей вместо "Введите код". Правда, временная таблица требует особой осторожности, чтобы два юзера одновременно к ней не обращались. Способ 2. Делаем какой-то интерфейс, который позволил бы составить в пямяти строку типа "7,12,53,14,18", содержащую все нужные коды через запятую. У отчета на Report_Open пишем подмену RecordSource'а, чтобы он принимал примерно такой вид: ...where clientid in (7,12,53,14,18) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2004, 00:02 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
1.а) (на небольших наборах сгодится) строишь один запрос Select [код клиента],[Дата],[сумма оплаты] as Приход, 0 as Расход,"П" as Сторона From Приход UNION ALL SELECT [код клиента],[Дата],0 as Приход, [сумма оплаты] as Расход,"Р" as Сторона From Отгрузка Отчет по оборотам непосредственно можно строить на этом запросе, ограничивая его условием Where [Дата] Between d1 And d2 сам отчет ORDER BY [код клиента], [Дата],[Сторона],[сумма оплаты] Входящее сальдо по клиенту опредеить в отчете можно, например так а) NZ(DSum("[сумма оплаты]","Приход","[Дата]<" & fix(d1)),0) б) NZ(DSum("[сумма оплаты]","Отгрузка","[Дата]<" & fix(d1)),0) в) а) - б). - разместить в заголовке группировки по клиентам Исходящее сальдо а) NZ(DSum("[сумма оплаты]","Приход","[Дата]<" & fix(d2)),0) б) NZ(DSum("[сумма оплаты]","Отгрузка","[Дата]<" & fix(d2)),0) в) а) - б). - разместить в примечании группировки по клиентам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2004, 00:02 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
А подчиненный отчет ни при чем!!! Если он сделан без ошибок, то он не должен увеличивать количество вводимой информации. Если просит, значит есть ошибка! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2004, 00:04 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
да, вот совсем забыл - в отчете - группировка по клиентам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2004, 00:04 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
Да, и спрашивать ни у кого ничего не надо - он сам построит только по тем у кого "движения" были. А чтобы по одному на странице - в свойствах группироки - новая страница после группы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2004, 00:07 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
пардон - в исходящем опшиПка - < заменить на <= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2004, 00:09 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
Хорошо, что Victosha знает не только Аксесс, но и эту задачу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2004, 00:10 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
Большое всем спасибо, попробую все способы. (Идти, искать, находить, спотыкаться, падать и снова подниматься и находить, и побеждать. -- безбожно преврал классика, но уж больно патетически хотелось) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2004, 00:13 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
Ошибка 2 Условие в DSUM ( должно выглядеть так (если он числовой) "[Дата]<" & fix(d1) & " AND [код клиента]=" & ctrlClientCode.value где ctrlClientCode - контрол в отчете, в котором код клиента изобрАжен. для исходящего < заменить на <= и d1 на d2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2004, 00:20 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
2 Владимир Саныч ;)) Эхь, ... задача... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2004, 00:25 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
А чего? Я смотрю, что в этом форуме все время задают вопросы по бухгалтерии. И отвечают на них так, как будто все действительно в этом разбираются. А я вот ни бум-бум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2004, 00:28 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
На самом деле бухгалтерия -- геморрой и тихий ужас. Большинство же вопросов, ежели абстрагироваться от денежного измерения их предмета, задаётся на организацию и обработку данных. Просто ведение учёта в Access имеет ряд неоспоримых преимуществ, особенно если предмет учёта специфичен или требуется особая форма его представления. В бухучёте находит отражение всё, но для того, чтобы свести это воедино уходит куча нервов, Access позоляет решать конкретные практические задачи максимально эффективно с точки зрения соотншения затраты/результат. Плюс ко всему иногда во главу угла ставиться наглядность представления данных, которой можно добиться и в бухгалтерских программах, но несравненно большими усилиями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2004, 00:43 |
|
||
|
Крик души -- создание отчёта из двух таблиц
|
|||
|---|---|---|---|
|
#18+
про геморрой 1 Некто из классиков "прогграммизма" (Брукс? Бентли? Аллен (Эрик)? - убей не помню) в своей "популярной книжке" рассказывал, как писал программу по расчету зарплаты и нужно было учесть местные налоги, являющиеся функцией возраста, стажа, года издания таблицы и не знаю чего еще. Выкатили людям таблицы расчетов и никак они на эти таблицы алгоритм надеть не могли. И модуль расчета местного налога и корявый и объемный получался. До тех пор, пока один "знающий" бухгалтер не объяснил им, что местный налог, независимо от года издания всегда строгий коеффициент федерального собой представляет, пояснив при этом по какой собственно формуле федеральный вычисляется. Так у них программа и в объеме сократилась во сколько-то разов и считать стала, как помню в 15 раз быстрее. -) про геморрой 2 ей богу ребята, пустое это. Интересно - это так люди с приличным образованием оправдаться пытаются, за то, что херней занимаются, или на самом деле не понимают, что для бухгалтеров - квантовая статистика, например, - еще больший геморрой и полное чувство удовлетворения, от того что им этим заниматься не приходится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2004, 01:23 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32485466&tid=1675248]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
167ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 214ms |
| total: | 491ms |

| 0 / 0 |
