Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос с вычислениями / 15 сообщений из 15, страница 1 из 1
14.12.2004, 21:39:40
    #32827572
Michello
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с вычислениями
Будьте любезны, пособите!

Не получается построить запрос с использованием вычисляемых полей.

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

Подскажите, пож, решение?

Спасибо!
...
Рейтинг: 0 / 0
14.12.2004, 21:44:04
    #32827576
DataDigger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с вычислениями
Мне непонятна структура - неудобно как-то по словестному описанию ее восстанавливать.
...
Рейтинг: 0 / 0
14.12.2004, 22:20:16
    #32827595
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с вычислениями
Michelloно конечный запрос не строится (выводятся только названия полей, а "белая" область данных не выводится).
И нам надо угадать, где в запросе ошибка?
...
Рейтинг: 0 / 0
15.12.2004, 14:38:25
    #32828611
Michello
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с вычислениями
DataDiggerМне непонятна структура - неудобно как-то по словестному описанию ее восстанавливать.Я приложил файл со снимком схемы данных. Там только вместо поля "Вид затрат" поле "Единица учета затрат", но суть одна и та же.
Каждая "Единица учета затрат" разбивается на составляющие (Энергозатраты, транспортные и т.п.), а те в свою очередь имеют свои составляющие (газ, тепло, электричество, ГСМ и т.п.). Плюс это все разбивается по годам. То есть для требуемого запроса нужно сначала просуммировать все составляющие в подчиненных таблицах (причем, как за все годы, так и за один выбранный год), а затем просуммировать сами подчиненные таблицы для получения в результате одной цифры для главной таблицы. То есть получится должна одна величина "Всего затрат по Единице учета затрат".


Владимир СанычИ нам надо угадать, где в запросе ошибка?Ну почти ))) Вернее, подсказать алгоритм действий. В имеющемся у меня пособии по Аксессу (к сожалению, без примеров) я прочитал, что такие вещи нужно делать с помощью группировки, а поэтому в несколько этапов, т.к. в запросе с группировкой нельзя производить вычислительные действия. Поэтому я сделал запросы с группировкой на создание таблиц, а из этих таблиц строю конечный запрос. Но, если промежуточные таблицы получаются, то простой запрос на их основе не выходит!
Подскажите, правильны ли мои действия? Где, предположительно, может быть ошибка?

Спасибо!
...
Рейтинг: 0 / 0
15.12.2004, 15:44:21
    #32828789
msn13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с вычислениями
Код: plaintext
Подскажите, правильны ли мои действия? Где, предположительно, может быть ошибка?
А где прикажешь искать ошибки то????
Посмотри вложенные запросы
...
Рейтинг: 0 / 0
15.12.2004, 16:45:55
    #32828957
Michello
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с вычислениями
msn13
Код: plaintext
Подскажите, правильны ли мои действия? Где, предположительно, может быть ошибка?
А где прикажешь искать ошибки то????
Посмотри вложенные запросыА последовательность действий я правильно выполняю? По-другому можно как-то?
Как бы Вы сделали?
...
Рейтинг: 0 / 0
15.12.2004, 17:30:36
    #32829079
msn13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с вычислениями
мне не понятно некоторые вещи.
что пишется в табл
а) учет затрат, там что одно пеле? бред полнейший
б) в таблицы затрат, ты что прописываешь?
в) список годов, она тебе вообще нафига?

я бы вообще построил подругому
а) табл учет затрат
номер операции\айди затраты\количество затраты
б)затраты
сделалбы одну таблицу
айди затраты\цена затраты
в)отсюда бы делал выжемку
...
Рейтинг: 0 / 0
15.12.2004, 18:15:47
    #32829200
Michello
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с вычислениями
msn13мне не понятно некоторые вещи.
что пишется в табл
а) учет затрат, там что одно пеле? бред полнейший
б) в таблицы затрат, ты что прописываешь?
в) список годов, она тебе вообще нафига?

я бы вообще построил подругому
а) табл учет затрат
номер операции\айди затраты\количество затраты
б)затраты
сделалбы одну таблицу
айди затраты\цена затраты
в)отсюда бы делал выжемкуМоя вина, я не до конца все объяснил.

а) В таблице "Учет затрат", естетственно, есть еще поля со множеством реквизитов. За ключевым полем "Единица учета затрат" скрывается код предприятия (соответственно, реквизиты - это его название, вид выпускаемой продукции и прочая).
б) Соответственно, в таблицах затрат прописываются фактические величины тех или иных (понесенных) затрат в каждом году.
в) Список годов не обязателен. Он просто нужен для выпадающего списка в форме. Главное, что поле "Год" в таблицах затрат - ключевое. Вместе с полем "Единица учета затрат" они формируют составной ключ, чтобы можно было к одной "Единице учета затрат" привязывать множество периодов (годов).

По-другому строить базу проблематично, т.к. такая схема продиктована ограничением доступа к объектам базы (она защищена на уровне пользователей). К разным затратам имеют доступ разные юзеры.

Можете ли Вы предложить алгоритм сабжа для существующей схемы базы?

Правильно ли я понимаю этот алгоритм:
1) запрос с группировкой
2) создание промежуточной таблицы
3) запрос с вычислением на основе промежуточной таблицы?

Какая наиболее вероятная ошибка может здесь быть (по Вашему опыту)?
...
Рейтинг: 0 / 0
15.12.2004, 18:28:49
    #32829223
ппп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с вычислениями
не знаю как с полями но можно попробовать
объединить таблицы т.е UNION применить
или вычислить по частям-т.е в первом запросе по 1 таб .... и тд
а потом свести в один запрос.
...
Рейтинг: 0 / 0
15.12.2004, 19:50:51
    #32829311
Michello
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с вычислениями
пппне знаю как с полями но можно попробовать
объединить таблицы т.е UNION применитьА где такая опция есть?

или вычислить по частям-т.е в первом запросе по 1 таб .... и тд
а потом свести в один запрос.Вот так у меня и организовано. Первый вид запросов работает нормально, а когда свожу все в один, то он не хочет показывать данные.
Вы, например, когда первый раз такое пытались сделать, с какими-то проблемами столкнулись?
...
Рейтинг: 0 / 0
16.12.2004, 09:28:13
    #32829597
ппп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с вычислениями
покахи как сводишь
...
Рейтинг: 0 / 0
16.12.2004, 10:11:54
    #32829665
msn13
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с вычислениями
Michello
ты правда выложи все запросы как ты енто делаешь
...
Рейтинг: 0 / 0
21.12.2004, 18:45:22
    #32837768
Michello
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с вычислениями
Спасибо, ребят большое! Ваше недоумение по моему вопросу заставило тщательней просмотреть свое творение. Ошибка была дурацкой (как теперь кажется) - к финальному запросу у меня цеплялась по INNER JOIN еще одна таблица, в которой не было никаких данных. Это блокировало вывод всех остальных данных.

Однако тщательный просмотр выявил гораздо более серьезные проблемы.

Оказывается, что при суммировании (стандартными средствами Акса) числовых данных из N-го количества подчиненных таблиц, когда такие таблицы связаны, помимо поля "Код", например, полем "Дата", во-первых, если, например, количество записей по датам не совпадает между таблицами, то результирующий запрос учтет не все данные (т.к. нет опции "FULL JOIN"), во-вторых, финальная сумма получается в N раз больше истинной, т.к. система будет считать все N повторений ключевого поля в подчиненных таблицах.
Поправьте меня, но, кажется, это так.
...
Рейтинг: 0 / 0
21.12.2004, 18:59:03
    #32837789
ппп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с вычислениями
Есть левые и правые объединения, которые могут помочь при несовпадении числа строк в запросах.

-----
во-вторых, финальная сумма получается в N раз больше истинной, т.к. система будет считать все N повторений ключевого поля в подчиненных таблицах.
Поправьте меня, но, кажется, это так.
-----
А это как запрос составишь!
...
Рейтинг: 0 / 0
21.12.2004, 19:26:16
    #32837819
Michello
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с вычислениями
пппЕсть левые и правые объединения, которые могут помочь при несовпадении числа строк в запросах.Однобокие объединения в любом случае не учтут не совпадающие строки "другого" бока (т.е. несовпадающие величины не просуммируются).

А это как запрос составишь!Ну да, я и говорю, что стандартными средствами (конструктором) не получится. Задача банальная, а стандартных средств в Аксе не предусмотрено. Для новичка тяжело!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос с вычислениями / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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