Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отчет по нескольким запросам,,, есть ли выход? / 19 сообщений из 19, страница 1 из 1
23.06.2004, 22:01:23
    #32574686
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
Есть несколько запросов(7) с полностью идентичной структурой:
Z1 ->P1;P2...P_n
Z2 ->P1;P2...P_n
....
Z7 ->P1;P2...P_n

Есть ли возможность суммировать поля (например Р1) ВСЕХ запросов, например
что то вроде Nz([*]![Р1];0), в поле отчета без муторного написания конструкции типа:

=Nz([Z1]![P1];0)+Nz([Z2]![P1];0)+......Nz([Z7]![P1];0)
(многие поля будут пустыми, поэтому Nz наверное обязательно? или нет...)
Кажется мой способ неудачен.
Заранее спасибо.
Ok.madg
...
Рейтинг: 0 / 0
23.06.2004, 22:09:10
    #32574689
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
Z1
union all
Z2
union all
Z3
union all
Z4
union all
Z5
union all
Z6
union all
Z7

Это текст одного запроса, который будет содержать данные всех семи. Вместо Z1 и т.д. надо подставить тексты исходных запросов.
...
Рейтинг: 0 / 0
23.06.2004, 22:28:46
    #32574695
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
Блин, совсем запарился!
В каждом запросе есть поле ID, для связи с основной таблицей.

Привожу текст запроса, в котором оставил две таблицы!кто сможет, поколдуйте... (или как это называется)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SELECT Наименование.Код, Наименование.Кадастровый_номер, Наименование.Наименование,
Наименование.Организация_вид, Наименование.год, Наименование.ОКАТО, Наименование.ИНН,
Наименование.ОКПО, Наименование.КФС, Наименование.СПф, Наименование.Адрес,
Наименование.Кат_земель, Наименование.Вид_польз, Наименование.Кол_уч, Пользование.Пашня,
Пользование.Многолетние, Пользование.Сенокосы, Пользование.пастбища, Пользование.Мел_строительство,
Пользование.Покрыт_лесом, Пользование.Лесополосы, Пользование.Болота, Пользование.Под_водой,
Пользование.Площади, Пользование.Парки, Пользование.Застроенные, Пользование.Нарушенные,
Пользование.Полигоны_наруш, Пользование.Овраги_наруш, Пользование.Пески_наруш,
Пользование.Другие_наруш, Пользование.Пашня_орош, Пользование.Многолет_орош,
Пользование.Сенокосы_орош, Пользование.пастбища_орош, Пользование.Прочие_орош,
Собственность.Пашня, Собственность.Многолетние, Собственность.Сенокосы, Собственность.пастбища,
Собственность.Мел_строительство, Собственность.Покрыт_лесом, Собственность.Лесополосы,
Собственность.Болота, Собственность.Под_водой, Собственность.Площади, Собственность.Парки,
Собственность.Застроенные, Собственность.Нарушенные, Собственность.Полигоны_наруш,
Собственность.Овраги_наруш, Собственность.Пески_наруш, Собственность.Другие_наруш,
Собственность.Пашня_орош, Собственность.Многолет_орош, Собственность.Сенокосы_орош,
Собственность.пастбища_орош, Собственность.Прочие_орош
FROM (Наименование LEFT JOIN Собственность ON Наименование.Код = Собственность.ID_наименование)
LEFT JOIN Пользование ON Наименование.Код = Пользование.ID_наименование
WITH OWNERACCESS OPTION;

Тоесть нужны и сами поля запроса, поле в котором будет вычисляться сумма одноименных полей по нескольним запросам.
Извините за такое идиотство......
...
Рейтинг: 0 / 0
23.06.2004, 22:35:54
    #32574700
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
А мой ответ прочитать не довелось?
...
Рейтинг: 0 / 0
23.06.2004, 22:44:52
    #32574703
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
Саныч, спасибо за редакцию топа!! Уж очень некультурно вышло.. :(
Довелось..... ну не знаю как это делается тот кусок приведен из конструктора :(

Если не трудно, приведи код для двух этих запросов а постараюсь применить к остальным.
Спасибо!
...
Рейтинг: 0 / 0
23.06.2004, 22:50:57
    #32574705
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
madgЕсли не трудно, приведи код для двух этих запросов а постараюсь применить к остальным.
Я не могу привести для этих двух, потому что тут я вижу только один.
...
Рейтинг: 0 / 0
23.06.2004, 23:08:05
    #32574718
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
Я наверное как то не очень спрашиваю...
Как правильно организовать сумму по столбцам в ленточной форме записи идут так:
ID; №; Наименование....

<Сумма поМноголетние>
Пользование.Многолетние
Собственность.Многолетние

.....
?????.Многолетние

PS
Блин, базомаратель хренов!!!! :(
...
Рейтинг: 0 / 0
23.06.2004, 23:09:52
    #32574719
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
madgСаныч, спасибо за редакцию топа!! Уж очень некультурно вышло.. :(
Довелось..... ну не знаю как это делается тот кусок приведен из конструктора :(

Если не трудно, приведи код для двух этих запросов а постараюсь применить к остальным.
Спасибо!

сохраняешь запросы под именами z1 и z2

руками в конструкторе запросов пишешь
(select * from z1) union (select * from z2)
сохраняешь под именем z3
далее работаешь как с обычным запросом(кроме открытия конструктором)
т.е. можно запускать открывать Recordset и querydef применять .execute
строить списки (und so waiter und so fort ..)
...
Рейтинг: 0 / 0
23.06.2004, 23:12:16
    #32574721
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
А. Тогда, наверно, так:

select Многолетние, Сенокосы, ... from Пользование
union all
select Многолетние, Сенокосы, ... from Собственность
union all
.....
union all
select Многолетние, Сенокосы, ... from ?????
...
Рейтинг: 0 / 0
23.06.2004, 23:16:21
    #32574723
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
Владимир СанычА. Тогда, наверно, так:

select Многолетние, Сенокосы, ... from Пользование
union all
select Многолетние, Сенокосы, ... from Собственность
union all
.....
union all
select Многолетние, Сенокосы, ... from ?????
Саныч а чем тебе * не приглянулась в select ?
при любви автора к русским названиям он попутает поля а в Union построитель не пашет!
...
Рейтинг: 0 / 0
23.06.2004, 23:20:51
    #32574726
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
Мне не нравится * в юнионе, потому что если случайно физический порядок полей в таблицах не совсем совпадает, то получится ерунда.
...
Рейтинг: 0 / 0
23.06.2004, 23:28:49
    #32574730
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
Владимир СанычМне не нравится * в юнионе, потому что если случайно физический порядок полей в таблицах не совсем совпадает, то получится ерунда.

Сейчас буду пробовать ....
а по поводу * а с полем ID которое есть в во всех запросах тоже будет union all или нет?
...
Рейтинг: 0 / 0
23.06.2004, 23:34:43
    #32574732
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
madgа по поводу * а с полем ID которое есть в во всех запросах тоже будет union all или нет?
Нихт ферштейн...
...
Рейтинг: 0 / 0
23.06.2004, 23:50:26
    #32574739
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
Владимир Саныч madgа по поводу * а с полем ID которое есть в во всех запросах тоже будет union all или нет?
Нихт ферштейн...
Я про вот что union all - наверное объединение записей, но ID если так тоже объединится? Или как?

Ну это так....

Делаю вроде как сказано:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Report_Activate()
Me.RecordSource = "SELECT * Аренда_зем_долей.Пашня, ....
FROM Аренда_зем_долей" 
Union ALL 
SELECT Аренда_МС.Пашня, 
FROM Аренда_МС"

End Sub


Пробовал вставлять и в SQL и VBA и то и другое посылает.....
Наверное не туда :) "вставляю" ?
...
Рейтинг: 0 / 0
23.06.2004, 23:54:57
    #32574741
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
madgЯ про вот что union all - наверное объединение записей, но ID если так тоже объединится? Или как?
Если это поле, то конечно. В чем проблема? Юнион просто располагает записи из нескольких таблиц одну под другой. Поле под полем. Если надо их как-то группировать и сортировать, то в отчете это делается в окошке Sorting & Grouping.

madgPrivate Sub Report_Activate()
Me.RecordSource = "SELECT * Аренда_зем_долей.Пашня, ....
FROM Аренда_зем_долей"
Union ALL
SELECT Аренда_МС.Пашня,
FROM Аренда_МС"

End Sub

Я пометил красным две вещи, которые вызовут ошибку. И третья - в VBA так разрывать строки нельзя.
...
Рейтинг: 0 / 0
23.06.2004, 23:57:15
    #32574742
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
Может есть решение проще:
Заменить конструкцию - данные для поля:
=Nz([Z1]![P1];0)+Nz([Z2]![P1];0)+......Nz([Z7]![P1];0)

На что нибуть приличнее?

А то, чую, в такие дебри забреду.....
...
Рейтинг: 0 / 0
24.06.2004, 00:01:13
    #32574744
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
madgМожет есть решение проще:
Заменить конструкцию - данные для поля:
=Nz([Z1]![P1];0)+Nz([Z2]![P1];0)+......Nz([Z7]![P1];0)

На что нибуть приличнее?

А то, чую, в такие дебри забреду.....
Так мы к этому и идем. Все для того и делается.

1. Сажаем отчет на юнион.
2. Группируем его по ID, создаем для этой группы футер.
3. В этом футере ставим поле (вместо этого страшного):
=Sum(Nz(P1;0))
...
Рейтинг: 0 / 0
24.06.2004, 00:26:00
    #32574749
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
madg Владимир Саныч madgа по поводу * а с полем ID которое есть в во всех запросах тоже будет union all или нет?
Нихт ферштейн...
Я про вот что union all - наверное объединение записей, но ID если так тоже объединится? Или как?

Ну это так....

Делаю вроде как сказано:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Report_Activate()
Me.RecordSource = "SELECT * Аренда_зем_долей.Пашня, ....
FROM Аренда_зем_долей" 
Union ALL 
SELECT Аренда_МС.Пашня, 
FROM Аренда_МС"

End Sub


Пробовал вставлять и в SQL и VBA и то и другое посылает.....
Наверное не туда :) "вставляю" ?



а чем не нравиться идея обьединять по Union запросы и в recordsource писать имя Union ?
...
Рейтинг: 0 / 0
24.06.2004, 01:12:27
    #32574758
madg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отчет по нескольким запросам,,, есть ли выход?
Вроде что то получается!!!
Спасибо!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отчет по нескольким запросам,,, есть ли выход? / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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