Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Gaz
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 11
1

Сложности с запросом

20.12.2012, 13:45. Просмотров 1115. Ответов 18
Метки нет (Все метки)

Здравствуйте уважаемые!
У меня возникла следующая проблема.
Передо мной поставлена следующая задача: создать перекрёстный запрос в котором должна рассчитываться относительная стоимость работ.
Я создал перекрёстный запрос в котором выведено стоимость работ каждого сотрудника и стоимость общего проекта. Так же я понимаю что моя относительная стоимость рассчитывается по формуле:стоимость работ*100/стоимость проекта. Но к сожаление реализовать в Access у меня не как не получается.
Подскажите способ реализации данного вопроса. Заранее спасибо.
0
Вложения
Тип файла: rar Belova_3.rar (138.9 Кб, 10 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2012, 13:45
Ответы с готовыми решениями:

Сложности с накладной
Прошу помочь мне... мне нужно на работе создать базу которая будет формировать накладные... 1с...

Сложности с выбором из списка
Можно ли сделать конкретную запись в таблице или форме неудаляемой? Поясню: есть поле 'тренер', из...

Вычисление сложности запросов
Админы, не удаляйте тему, совершенно другое задание, то была оптимизация деревьев, и я все равно...

Сложности с подчиненной формой
Подскажите пожалуйста как в подчиненной форме ячейку СУММА сложить и вывести её в ячейке ИТОГО?

Сложности с выбором из списка
Несколько раз задавал вопрос на других форумах, но его как-то все игнорируют, а разобраться то...

18
minob
3534 / 1108 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
20.12.2012, 14:22 2
Если правильно понял, что нужно относительная стоимость работ по каждому проекту, то пробуйте
SQL
1
2
3
4
5
TRANSFORM SUM(работы.[Стоимость затрат на работы]*100/проекты.[Стоимость проекта]) AS [относительная стоимость работ]
SELECT проекты.название
FROM проекты INNER JOIN работы ON проекты.[Код проекта] = работы.[код проекта]
GROUP BY проекты.название
PIVOT работы.[название работы]
Странные у вас данные, например, стоимость проета Планер (код проекта 3) - 1667р., а стоимость только одной работы "укладка" по этому проекту - 51 666,6667р.
0
Gaz
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 11
20.12.2012, 15:04  [ТС] 3
Воооот. На счёт странности данных. Проблема в том что у меня не получается просуммировать стоимости работ по конкретному проекту. У меня это получается только по средствам создание запроса с группировкой. А результат по сумме всех работ одного проекта у меня ни как не получается достать из запроса.

Добавлено через 10 минут
Уточню само задание, может это вам поможет. Необходимо рассчитать относительную стоимость работы представляется в процентах от общей стоимости всех работ конкретного проекта

Добавлено через 15 минут
minob, Исходя из этого ваш запрос формирует неверные данные.
0
ltv_1953
Эксперт MS Access
13779 / 6065 / 1224
Регистрация: 21.06.2012
Сообщений: 10,977
20.12.2012, 15:08 4
М.б. просто сводную сделать (Проекты_Работы_Сводный_ во вложении) и не записывать никуда относительные стоимости.
1
Вложения
Тип файла: rar Belova_3_.rar (36.9 Кб, 10 просмотров)
20.12.2012, 15:08
minob
3534 / 1108 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
20.12.2012, 15:13 5
Цитата Сообщение от Gaz Посмотреть сообщение
На счёт странности данных. Проблема в том что у меня не получается просуммировать стоимости работ по конкретному проекту. У меня это получается только по средствам создание запроса с группировкой. А результат по сумме всех работ одного проекта у меня ни как не получается достать из запроса.
Это поправимо
SQL
1
UPDATE проекты SET [Стоимость проекта]=DSum("[Стоимость затрат на работы]","работы", "[код проекта]=" & проекты.[Код проекта])
Цитата Сообщение от Gaz Посмотреть сообщение
Уточню само задание, может это вам поможет. Необходимо рассчитать относительную стоимость работы представляется в процентах от общей стоимости всех работ конкретного проекта
Перекрестный запрос предыдущего поста, как раз это и делает.
Для того, чтобы увидеть сумму процентов по каждой записи, добавьте в SELECT поле
SQL
1
SUM(работы.[Стоимость затрат на работы]*100/проекты.[Стоимость проекта]) AS [Всего]
После того, как с помощью вышеприведенного запроса UPDATE приведете в порядок стоимость проекта, то по идее новое поле [Всего] во всех записях будет содержать 100.

Добавлено через 2 минуты
Цитата Сообщение от Gaz Посмотреть сообщение
minob, Исходя из этого ваш запрос формирует неверные данные.
Кривые данные влекут за собой кривые результаты
1
Gaz
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 11
20.12.2012, 15:21  [ТС] 6
minob, Да, виноват, извените, Спасибо вам, теперь помогло

Добавлено через 3 минуты
ltv_1953, Это тоже вариант , спасибо огромное!
0
Gaz
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 11
21.12.2012, 14:48  [ТС] 7
Извините, но я хотел бы задать вам ещё один вопрос. я привел в действие вашу идею, но дальше я столкнулся со следующей проблемой.

у меня не удается создать форму на основе полученного результата, чтобы выводилась форма, в которой была относительная ставка по каждому человеку участвующему в конкретном проекте.

Я так понимаю нужна создать запрос на выборку с необходимыми полями, но из этого запроса я ни как не могу вытащить эту относительную стоимость отдельной работы.

Подскажите пожалуйста как это сделать.

Вот пример того что у меня получается . В форме под названием "неправильная форма" выводиться относительные ставки всех работников, в то время как необходимо, чтобы выводилась относительная ставка только по одному сотруднику.
0
Вложения
Тип файла: rar Belova_3_ВтораЯ.rar (131.4 Кб, 9 просмотров)
ltv_1953
Эксперт MS Access
13779 / 6065 / 1224
Регистрация: 21.06.2012
Сообщений: 10,977
21.12.2012, 15:11 8
А зачем Вам нужна форма? В формах обычно что-то вводится, а для просмотра - запросы, отчеты, сводные таблицы.

Если сводная устраивает, то с небольшими изменениями подойдет та же. У Вас одну работу выполняет один сотрудник, добавьте в запрос таблицу Кадры, вытащите из нее поле ФИО в столбец запроса, откройте в режиме сводной, уберите столбец Работа и вытащите в сводную столбец ФИО.
0
Gaz
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 11
21.12.2012, 15:27  [ТС] 9
ltv_1953, Дело в том первоначально необходимо было создать форму с полям: название работы, исполнитель, длительность работ, относительная ставка.

Может я конечно ошибаюсь, но кажется сводная таблица не совсем подходит. Вот поэтому необходим перекрёстный запрос.

А в вашем который вы мне прислали, удивив нужные цифры и поля, у меня сложилось мнение будто сделать форму из этого впоследствии меня не составит труда, но я ошибался. Подскажите в чем я не прав.
0
ltv_1953
Эксперт MS Access
13779 / 6065 / 1224
Регистрация: 21.06.2012
Сообщений: 10,977
21.12.2012, 15:53 10
Не подходит так не подходит.
Сводные - это инструмент исключительно для просмотра/анализа данных сгруппированных, отфильтрованных, ... , источником для форм они вялятся не могут.
0
Gaz
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 11
21.12.2012, 16:07  [ТС] 11
Я в тупике
0
minob
3534 / 1108 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
21.12.2012, 18:09 12
Цитата Сообщение от Gaz Посмотреть сообщение
у меня не удается создать форму на основе полученного результата, чтобы выводилась форма, в которой была относительная ставка по каждому человеку участвующему в конкретном проекте.

Я так понимаю нужна создать запрос на выборку с необходимыми полями, но из этого запроса я ни как не могу вытащить эту относительную стоимость отдельной работы.

Подскажите пожалуйста как это сделать.

Вот пример того что у меня получается . В форме под названием "неправильная форма" выводиться относительные ставки всех работников, в то время как необходимо, чтобы выводилась относительная ставка только по одному сотруднику.
Несколько раз прочел, но так и не понял, чего надо. Покажите макет требуемой формы.
0
Gaz
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 11
21.12.2012, 18:37  [ТС] 13
minob, Вот так вот
0
Миниатюры
Сложности с запросом  
minob
3534 / 1108 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
21.12.2012, 23:14 14
Цитата Сообщение от Gaz Посмотреть сообщение
minob, Вот так вот
Ранее вы писали
Цитата Сообщение от Gaz
чтобы выводилась форма, в которой была относительная ставка по каждому человеку участвующему в конкретном проекте.
Но на форме отсутствует упоминанме о проекте, следовательно нужна относительная ставка по каждому наименованию работы каждого человеку по всем проектам в совокупности, или все же по каждлму проекту?
Что есть относительная ставка? Это относительная cтоимость оабот или нечто другое?
Пока сервер форума "отдыхал", посмотрел структуру БД. В таблицах много лишних полей. Напрашивается несколько новых справочников. Возможно потребуется несколько изменить связи.
0
Gaz
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 11
21.12.2012, 23:37  [ТС] 15
minob, Относительная "по каждому проекта"

Что есть относительная ставка? Это относительная cтоимость оабот или нечто другое?
Да, относительная стоимость работ.

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

Добавлено через 2 минуты
Ну если проще то : стоимость одного работника * 100/ (общую стоимость одного проекта)

Добавлено через 13 минут
0
Gaz
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 11
21.12.2012, 23:38  [ТС] 16
Ну то есть должно быть в форме как то так только с верными данными.

Мы открываем форму в которой будут все исполните во всех проектах с относительной стоимость.

наглядно покажу на отчёте с неверной отн стоимостью

может это поможет
0
Миниатюры
Сложности с запросом  
minob
3534 / 1108 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
22.12.2012, 00:11 17
На макете формы присутствовало поле "Длительность работ", а на последней картинке оно отсутствует, и наоборот на последней есть "Стоимость затрат на работы", а на предыдущей нет. Так какие поля нужны?
Данные, как предлагается на макете, просматривать будет затруднмтельно.
Форма должна позволять изменения записей?
1
ltv_1953
Эксперт MS Access
13779 / 6065 / 1224
Регистрация: 21.06.2012
Сообщений: 10,977
22.12.2012, 00:24 18
Во вложении запрос - источник данных Проекты_Работы_Исполнители_Стоимость_, аналогичный приведенному образцу.
1
Вложения
Тип файла: rar Belova_3__.rar (27.7 Кб, 14 просмотров)
Gaz
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 11
22.12.2012, 14:09  [ТС] 19
ltv_1953 Вот он запрос моей мечты, с помощью него всё выводится!!СПАСИБООООО!оказывается всё делаеся через
функию Round, я с нею раньше не сталкивался))) буду иметь ввиду!!

minobВам тоже огромное спасибо вы мне показали новые методы работы с БД,которые мне в дальнейшем пигодяться и мне не придёться лишний раз тревожить таких замечательных люей!

Наконецто спустя 5 дней мучений всё получилось!!!СПАСИБО ВААААМ!!
0
22.12.2012, 14:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2012, 14:09

Сложности в понимании использования различных БД
Здравствуйте, мне необходима помощь. Я знаю только MySql и мне нужно написать почему я ее выбрал...

Сложности с выводом отчета на печать
Добрый день! Возникает проблема с выводом отчета на печать (см.вложение рис.2). Сам отчет...

Сложности с обновлением данных в таблице
есть таблица с логическим полем (да, нет) при нажатии кнопки в форме запускается код vba который...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru