Народ, кто-нить умеет программировать в MS Access?

  • Автор темы Автор темы tarzan
  • Дата начала Дата начала

tarzan

Administrator
Команда форума
10 Ноя 2002
9.316
3.505
113
78
Москва
Нужны советы по статистической обработке данных в базе.
 
K.O.A.,
Задача такая: Имеется таблица из 2 колонок, содержащая имена клиентов и объем услуг, полученных каждым из них в течение года. Нужно подсчитать суммарный объем услуг, полученный каждым из клиентов за весь этот период, и число обращений каждого из клиентов за этой услугой. Результаты отсортировать от большего к меньшему. Таблица имеет порядка 1500 строк, число клиентов около 200. Ищу оптимальный алгоритм для реализации таких запросов (можно на SQL).
 
SQL-запрос такой:

select Клиент, sum(Услуга) as SumD, count(Услуга) as CountD
from ВашаТаблица
group by Клиент
order by SumD desc


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

Вместо названий полей и таблицы на кириллице вставьте правильные названия ваших полей и вашей таблицы.

По операторам:

select - выбрать
sum - суммировать
count - посчитать количество
as - присвоить имя
from - из такой-то таблицы
group by - группировать по конкретному полю
order by - сортировать по конкретному полю
desc - сортировать поле в убывающем порядке
 
K.O.A.,
Спасибо, буду пробовать

Вопрос:
Чем отличаются операторы SumD и CountD от Sum и Count ?
 
Вопрос:
Чем отличаются операторы SumD и CountD от Sum и Count ?

SumD и CountD это произвольные имена результирующих колонок. Я мог назвать их иначе, например, SumData и CountData или как-то еще, не суть важно. SUM() и COUNT() это SQL-функции, так называемые агрегатные функции.

Т.е. в запросе с помощью функции SUM() я суммировал услуги по каждому клиенту и вывел полученные данные в результирующую колонку под названием SumD. Аналогично и с подсчетом количеств обращений: COUNT() -> CountD.
 
Последнее редактирование:
А не проще таблицу такого объёма экспортировать в эксель и суммировать с помощью Pivot Table? Она более наглядная и программировать не надо.
 
Кстати, Pivot Table можно построить прямо в Access'е. Надо подумать над этим вариантом
В Excel сделать можно, но поставлена задача получить отчет одной кнопкой прямо в Access'е.
 
объясни что это за таблица, как ее указать сиквелу, чтоб он к ней обратился, нужен MySQL что ли?
Комрад K.O.A. имел в виду исходную таблицу. Запрос в SQL, в принципе, построен логично, однако в среде MSAcess такой запрос сильно отличается от "классического" SQL.

ЗЫ: Мне свою задачу удалось решить средствами MSAcess (топик можно удалить).
 
Комрад K.O.A. , объясни что это за таблица, как ее указать сиквелу, чтоб он к ней обратился, нужен MySQL что ли?

Таблицы базы данных бывают в разных форматах: dBase (*.dbf), Paradox (*.db), Access (*.mdb) и т.д. Обычно обращаются к таблицам через псевдонимы (алиасы) баз данных, но можно обратиться напрямую, указав в одиночных или двойных кавычках путь к таблице и саму таблицу. Пример:

select *
from 'C:\Program Files\Base\sales.dbf'


Наверняка есть масса программ для доступа к базам данных через SQL-запросы. Я пользовался только SQL Explorer и Database Desktop.

p.s. И еще. Работал с таблицами только на локальном диске. По Интернету не работал. Поэтому, если ваша таблица где-то на сайте, то этой кухни, увы, не знаю.
 
Последнее редактирование:

Сейчас просматривают