Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Функции при группировке 
V
    Опции темы
kapbepucm
Дата 29.8.2007, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



Позволяет ли MS Access создавать функции, используемые при группировке. Такие-же как встроенные Sum, First, Last, Max, Min и т.п.?


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
ТоляМБА
Дата 29.8.2007, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 3
Всего: 252



Код
Select Sum(t1.f1)/count(t1.f1) as NewFunc
from t1
Аналог AVG своими ручками (без учёта Null значений конечно). Или что-то другое надо?
PM   Вверх
Akina
Дата 29.8.2007, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



В запросе может быть использована любая функция, описанная в модуле как public.

Код

Public Function ShowLen(Txt as String) As String
ShowLen = "Length of '" & Txt & "' is " & CStr(Len(Txt)) " chars."
End Function


Код

Select ID, ShowLen(TextData)
From MyTable



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kapbepucm
Дата 29.8.2007, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



Немного не так я, наверное, объяснил. При группировке мне надо увидеть массив, который Sum бы сложил, First показал бы первый элемент и т.д.
Пример. Есть таблица Table1
Код
ID  Day          KV
--------------------
1   10.01.2007.   2
2   10.01.2007.  18
3   29.08.2007.   1
4   29.08.2007.   2
5   29.08.2007.  17
Делаю запрос
Код
SELECT Table1.Day, Sum(Table1.KV) AS KV FROM Table1 GROUP BY Table1.Day;
Ну и здесь в место Sum я хотел бы сделать свою функцию. Например, я хочу "по-особому" просуммировать. Но увижу ли я данные, с которыми надо работать? Имею подозрение, что MS Access не позволит мне это реализовать...

Это сообщение отредактировал(а) kapbepucm - 29.8.2007, 14:28


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
Akina
Дата 29.8.2007, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(kapbepucm @  29.8.2007,  15:00 Найти цитируемый пост)
здесь в место Sum я хотел бы сделать свою функцию. Например, я хочу "по-особому" просуммировать. Но увижу ли я данные, с которыми надо работать? Имею подозрение, что MS Access не позволит мне это реализовать...

Никакой сервер БД тебе не позволит это реализовать в рамках внешней процедуры/функции. А вот в рамках хранимой процедуры это можно сделать в т.ч. и на Access. Или вынести на клиента - это намного проще, если размер выборки невелик.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kapbepucm
Дата 29.8.2007, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



Благодарю. Мои подозрения оправдались :(.


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0964 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.