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

Прошу доработать базу данных (запрос)

08.11.2015, 18:32. Просмотров 1005. Ответов 18
Метки нет (Все метки)

Задание:

Описание предметной области. Вы работаете в коммерческой службе телефонной компании. Компания предоставляет абонентам телефонные линии для междугородних переговоров. Вашей задачей является отслеживание стоимости междугородних телефонных переговоров.

Абонентами компании являются юридические лица, имеющие телефонный номер (или несколько номеров), ИНН, юридический адрес, расчетный счет в банке. Стоимость переговоров зависит от города, в который осуществляется звонок, и времени суток (день – с 09:00 до 19:00 часов и ночь – с 19:00 до 09:00 часов). Каждый звонок абонента автоматически фиксируется в базе данных. При этом запоминаются город, дата начала разговора, дата завершения разговора.

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

По результатам работы пользователь должен иметь возможность получить отчеты:

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

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

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

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

5. статистика объема оказанных услуг и поступлений средств от абонентов по выставленным счетам по месяцам, за период определенный пользователем,

6. отчет, показывающий долг/переплату каждого абонента.


Как сделать логический запрос? То есть пункт 3. Задать запрос, и что бы варианты ответов были: "Да" или "Нет".
"Звонок был ночным?" Да или Нет.


Этот запрос находится в "2222 доделать"
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2015, 18:32
Ответы с готовыми решениями:

Прошу доработать базу данных
Задание такое: Описание предметной области. Вы работаете в коммерческой службе телефонной...

Прошу доработать базу данных (формы и отчеты)
Задание звучит так: Описание предметной области. Вы работаете в коммерческой службе телефонной...

Прошу совета :нужно создать базу данных, по отпускникам
Добрый день всем !!! Буду очень краток и прошу у Вас совета или напутствия. Получилось так что...

Нужна помощь - Запрос в базу данных???
Всем доброе время суток!!! Подскажите пож. мне нужно сделать запрос в базу данных, люди...

Как доработать базу???
Всем привет. Помогите доработать базу. Тех. задание и сама база во вложении. Заранее спасибо!

18
Сергей2121
0 / 0 / 0
Регистрация: 10.10.2015
Сообщений: 18
08.11.2015, 18:34  [ТС] 2
Вот БД
0
Вложения
Тип файла: rar Наработки1111011.rar (30.4 Кб, 8 просмотров)
ltv_1953
Эксперт MS Access
13265 / 5981 / 1191
Регистрация: 21.06.2012
Сообщений: 10,790
08.11.2015, 18:46 3
Цитата Сообщение от Сергей2121 Посмотреть сообщение
Как сделать логический запрос? То есть пункт 3. Задать запрос, и что бы варианты ответов были: "Да" или "Нет".
"Звонок был ночным?" Да или Нет.
Стандартное уточнение: звонок: начало 18-00, окончание 20-00. Он ночной или нет.
И еще - звонок: начало 30/01/2015 23-50, окончание 01/02/2015 01-11, относится к январю, февралю или разделяется (10 минут январь, остальное - февраль)
1
Сергей2121
0 / 0 / 0
Регистрация: 10.10.2015
Сообщений: 18
08.11.2015, 18:58  [ТС] 4
ltv_1953, я не увидел таких звонков и дат.
(день – с 09:00 до 19:00 часов и ночь – с 19:00 до 09:00 часов)
0
ltv_1953
Эксперт MS Access
13265 / 5981 / 1191
Регистрация: 21.06.2012
Сообщений: 10,790
08.11.2015, 19:05 5
Цитата Сообщение от Сергей2121 Посмотреть сообщение
я не увидел таких звонков и дат.
И что, их не может быть? Где это в ТЗ написано? Запросы должны работать для любых звонков (единственное ограничение - начало <= окончания).
Нужно принять решение - либо делить время звонка на части, либо считать тариф по началу звонка. В Вашем ТЗ это не написано. Уточняйте.
1
Сергей2121
0 / 0 / 0
Регистрация: 10.10.2015
Сообщений: 18
08.11.2015, 19:07  [ТС] 6
ltv_1953, БД я уже почти сделал.
0
Вложения
Тип файла: rar Наработки1111011.rar (30.4 Кб, 4 просмотров)
Сергей2121
0 / 0 / 0
Регистрация: 10.10.2015
Сообщений: 18
08.11.2015, 19:11  [ТС] 7
нужно только доработать запрос из моей БД
0
ltv_1953
Эксперт MS Access
13265 / 5981 / 1191
Регистрация: 21.06.2012
Сообщений: 10,790
08.11.2015, 19:31 8
Лучший ответ Сообщение было отмечено Сергей2121 как решение

Решение

Смотрите сводный запрос3_ во вложении. Период выбирается в дереве, раскрывающемся по нажатию треугольничка справа от года.
1
Вложения
Тип файла: 7z Наработки1111011.7z (26.9 Кб, 7 просмотров)
Сергей2121
0 / 0 / 0
Регистрация: 10.10.2015
Сообщений: 18
08.11.2015, 20:07  [ТС] 9
ltv_1953, Спасибо!
Не сочтите за наглость, не могли бы помочь с 4 пунктом? Так как там опять идет речь о временах суток.
0
mobile
Эксперт MS Access
23402 / 13194 / 2770
Регистрация: 28.04.2012
Сообщений: 14,458
08.11.2015, 20:35 10
Цитата Сообщение от Сергей2121 Посмотреть сообщение
4. статистика оказанных услуг в разрезе городов и времени суток по месяцам, за период определенный пользователем (с указанием объема услуг в минутах и рублях)
SQL-выражение запроса
SQL
1
2
3
4
5
6
7
8
SELECT Город.[Название города], format(Звонки.Дата, "yyyy mmmm") AS ГодМесяц, 
   SUM(Звонки.Продолжительность) AS КоличествоМинут,
   round(SUM(Город.[стоимость минуты]*Звонки.Продолжительность),2) AS Сумма,  
   iif(Звонки.[звонок был ночью?], "Ночь","День") AS [День/Ночь]
FROM Звонки INNER JOIN Город ON Звонки.[Код города] = Город.[Код города]
WHERE Звонки.Дата BETWEEN [Дата начала  периода] AND [Дата конца периода]
GROUP BY Город.[Название города], format(Звонки.Дата, "yyyy mmmm"), iif(Звонки.[звонок был ночью?], "Ночь","День")
ORDER BY Город.[Название города], format(Звонки.Дата, "yyyy mmmm")
1
Сергей2121
0 / 0 / 0
Регистрация: 10.10.2015
Сообщений: 18
08.11.2015, 20:40  [ТС] 11
в sql не особо понятно. Но вроде сделал.
0
Сергей2121
0 / 0 / 0
Регистрация: 10.10.2015
Сообщений: 18
08.11.2015, 20:45  [ТС] 12
скрин
0
Миниатюры
Прошу доработать базу данных (запрос)  
ltv_1953
Эксперт MS Access
13265 / 5981 / 1191
Регистрация: 21.06.2012
Сообщений: 10,790
08.11.2015, 22:38 13
Угу. Добавили поле город.
Сводные - это просто.
1
Сергей2121
0 / 0 / 0
Регистрация: 10.10.2015
Сообщений: 18
09.11.2015, 02:30  [ТС] 14
А как теперь создать форму или отчет? Таблица рассыпается.
0
Сергей2121
0 / 0 / 0
Регистрация: 10.10.2015
Сообщений: 18
09.11.2015, 02:41  [ТС] 15
ltv_1953,Вот бд. Начал делать кнопочную форму. Когда добавляю 3 и 4 пункт, они становятся как обычные таблицы. А не как у Вас.
0
Вложения
Тип файла: rar 2111.rar (1.22 Мб, 9 просмотров)
ltv_1953
Эксперт MS Access
13265 / 5981 / 1191
Регистрация: 21.06.2012
Сообщений: 10,790
09.11.2015, 03:02 16
Цитата Сообщение от Сергей2121 Посмотреть сообщение
Когда добавляю 3 и 4 пункт, они становятся как обычные таблицы.
Нужно указать, что запрос открывается в режиме сводной таблицы (второй параметр)
Visual Basic
1
    DoCmd.OpenQuery stDocName, acViewPivotTable, acEdit
1
Сергей2121
0 / 0 / 0
Регистрация: 10.10.2015
Сообщений: 18
09.11.2015, 15:23  [ТС] 17
ltv_1953, где указать? я открываю запрос, нажимаю "форма", он выдает обычную таблицу, а не сводную. Куда прописать этот код?
0
ltv_1953
Эксперт MS Access
13265 / 5981 / 1191
Регистрация: 21.06.2012
Сообщений: 10,790
09.11.2015, 15:36 18
У Вас на кнопках процедуры открытия макрокомандами DoCmd.Open... . И зачем нужен запрос как форма? Сводную можно только смотреть, данные вводить/изменять нельзя.
1
Сергей2121
0 / 0 / 0
Регистрация: 10.10.2015
Сообщений: 18
09.11.2015, 16:03  [ТС] 19
ltv_1953, я ставлю кнопку открыть запрос, но запрос открывается как обычная таблица. Как сделать, что бы открывалась, как сводная?

Добавлено через 14 минут
Разобрался, сделал. Спасибо Вам!
0
09.11.2015, 16:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2015, 16:03

Доработать немного базу
Помогите пожалуйста с базой данных. Нужна не большая помощь. Доделать схему данных и сделать...

Нужно доработать запрос
Смотрите, есть запрос &quot;КолПациента&quot; вычисляет количество пациентов у каждого врача. Как сделать так...

Запрос на добавление данных в базу данных из формы. Mysql
Надо, чтобы данные вводились из формы. Я пишу так, но не знаю как дописать. &lt;html&gt;&lt;head&gt; ...


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

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

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