LEADERSOFT.ru
Разработка на заказ программ и сайтов
Разработка
Заказ программы
Прайс-лист
Техническое задание
Проектная документация
Наши клиенты
Реклама и продвижение
Магазин
Перейти в магазин
Новинки магазина
Бизнес программы
Финансовый учет
Документооборот
Исходные коды
Интернет решения
Обучение
Перейти в раздел
Форумы по разработке
Примеры на Access
Рассылка статей
Магазин IT литературы
Блог
Все статьи
Microsoft Access (VBA)
Microsoft Access (Проекты)
Microsoft ASP.NET
Сервисы Google
Технические задания
Новости IT технологий
Сервисы
Форумы разработчика
Контакты
О компании
Регистрация на сайте
Подписка на новости по Email
Сообщество Google+
Подписка subscribe.ru
Новости в формате Атом
Загрузить
Загрузить каталог программ
Форумы по информационным технологиям
Начало
Forums
Регистрация
|
Вход
Forums
Обновлено ::
06 февраля 2005
Форумы
Поиск
Список форумов
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Подсчет н...
Тема: Подсчет не в столбец
15.06.2007 21:02:49
Валерий3
43 сообщения
Тема: Подсчет не в столбец
Доброе время суток!
У меня громадная просьба. Пытаюсь написать что-то типа табельного учета. Остановился на том, что не могу подсчитать данные по дням
Иванов 8 8 8 7 8
Петров 8 8 8 8 8
Как получить
Иванов: 39
Петров: 40
заранее спасибо
P.S. Общие вопросы по базе данных
Автор:
Валерий
от 02.08.2002 6:05:43
Источник ...
15.06.2007 21:02:49
Николай3
48 сообщения
RE: Подсчет не в столбец
Ну наверное сложить :)
Где эти данные, как хранятся.
Если это - строка с перечислением дней, то можно вместо пробелов поствить "+" и выполнить EVal(строка-выражение)
P.S. Общие вопросы по базе данных
Автор:
Николай
от 02.08.2002 6:29:05
Источник ...
15.06.2007 21:02:49
Валерий3
43 сообщения
RE: Подсчет не в столбец
Сорри, я не правильно выразился.
Мне нужно отобрать в строке 4 по 8 и 1 по 7 и т.д.
Иванов 8 8 8 7 8 Итого 4 по 8 и 1 по 7
Петров 8 8 8 8 8 Итого 5 по 8
Так точнее
P.S. Общие вопросы по базе данных
Автор:
Валерий
от 02.08.2002 7:47:33
Источник ...
15.06.2007 21:02:49
All
4316 сообщения
RE: Подсчет не в столбец
Для начала необходимо получить набор значений для каждой строки, затем отсортировать.
пример:
Создаем в модуле функцию
Function Result(strIn As String) As String
Dim rst As New ADODB.Recordset
Dim aIn() As String
Dim i As Long
Dim sret As String
Dim y As Long, z As Long
'получаем массив чисел из переданной строки
aIn = Split(strIn, ";")
'заполняем recordset
rst.Fields.Append "V", adBigInt
rst.Open
For i = 0 To UBound(aIn())
rst.AddNew
rst!V = Val(aIn(i))
Next i
rst.MoveFirst
'сортируем по убыванию
rst.Sort = "V DESC"
y = rst!V
z = 0
sret = "Итого "
'подсчитываем сколько чего
For i = 0 To rst.RecordCount - 1
If rst!V = y Then
z = z + 1
Else
If z > 0 Then sret = sret & z & " по " & y & " и "
y = rst!V
z = 0
rst.MovePrevious
i = i - 1
End If
rst.MoveNext
Next i
If z > 0 Then sret = sret & z & " по " & y & " и "
'убираем последнюю " и "
sret = Left(sret, Len(sret) - 3)
Result = sret
End Function
Создаем запрос
SELECT TD.ID, TD.NAME, Result([D1] & ";" & [D2] & ";" & [D3] & ";" & [D4] & ";" & [D5]) AS V2
FROM TD;
где D1-D5 - соотв поля таблицы с кол-ом часов
P.S. Общие вопросы по базе данных
Автор:
Николай
от 0:00:00
Источник ...
Страница 1 из 1
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Подсчет н...
Одноуровневый вид
Древовидная структура
Самый старый из новых
Новейший из старых
Поиск
Список форумов
Начало
|
Forums
Copyright 2002-2016 Leadersoft.ru
::
Leadersoft
::
Соглашение о безопасности
::
Условия использования