powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / система с изменяющимися алгоритмами расчетов
13 сообщений из 13, страница 1 из 1
система с изменяющимися алгоритмами расчетов
    #32192210
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У соседей задан интересный Система с изменяющимися алгоритмами расчетов. Может из здешних обитателей имет что-либо сказать по теме?
...
Рейтинг: 0 / 0
система с изменяющимися алгоритмами расчетов
    #32192705
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно, что никого не заинтересовал такой вопрос
sparrow "...Сопровождаю OLTP систему, в которой заказчик периодически основательно меняет алгоритмы расчета некоторых величин, причем алгоритмы сложны и используют данные из ~ полусотни таблиц. Для перерасчетов необходимо использовать методики, действовавшие в соответствующие периоды. Еще алгоритмы зависят от типа и состояния сущностей, для которых производится расчет. Вообще то это типичная для Росси, с её динамично изменяющимися законами и бизнесом, ситуация. То есть проблема должна быть у всех. " далее автор приводит свои варианты и вопрошает "Может кто-нибудь решил сходную проблему и прошел путь дальше или по-другому. Какие мнения? Расскажите."
...
Рейтинг: 0 / 0
система с изменяющимися алгоритмами расчетов
    #32192755
arTimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще в таких случаях стараюсь сохранять в таблицах результаты старых расчетов. но если стоит задача заново пересчитывать старые данные по старым же методикам, то выход видится в использовании хранимых процедур или пользовательских функций (для случая adp-проектов). для каждой методики пишутся свои процедуры или функции (или одна процедура которая рассчитывает все значения). создается таблица со столбцами типа: ДАТА_ПЕРИОД, ИМЯ_ПРОЦЕДУРЫ_РАСЧЕТА. далее в зависимости от выбранного периода, динамически создается команда SQL, запускающая нужную хранимую процедуру, и передающая ей необходимы параметры (оооочень желательно чтобы процедуры расчета для разных периодов работали с одним набором параметров). Эта процедура вычисляет результаты и либо заносит их сразу в результирующие таблицы либо возвращает в output'е
Во всяком случае я такой способ использовал, вроде никто не жалуется
...
Рейтинг: 0 / 0
система с изменяющимися алгоритмами расчетов
    #32192805
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не стану встревать к соседям, но не понимаю какие проблемы при использовании SQL+ADP???
Есть процедура хранимая расчета чего-либо
Вариантов могу предложить два:
1. В тексте самой процедуры при любом изменении методики алгоритма за определенный период стоит свой IF, по мере добавления методик добавляются IF'ы
2. В тексте процедуры в зависимости от периода стоит вызов соответствующей процедуры со своим алгоритом (можно даже сделать зависимость имени процедуры от периода).
По мере добавления методик добавляются новые процедуры (при наличии зависимости от периода без изменения основной).
...
Рейтинг: 0 / 0
система с изменяющимися алгоритмами расчетов
    #32192826
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше я спрошу то, что непосредственно меня интересует.
Есть форма, основанная на рекордсете с полями Поле 1, Поле 2, поле 3, ...(набор и имена полей фиксированны). В определенном месте осуществляется действие "выбор алгоритма" и в зависимости от того, какой алгоритм стоит по-умолчанию на момент открытия формы, рекордсет считается по определенному правилу. Где лучше хранить эти алгоритмы?
У меня в голове следующий вариант:
В некой служебной таблице хранится список алгоритмов и строки Sql, их релизующие:
Код: plaintext
1.
  ID  Имя алгоритма ДляЧего   SQL  ПоУмолчанию(флаг)

При запуске формы Процедура ищет определенную по-умолчанию для данной формы строку SQL и на основе ее формирует рекордсет.

Но что-то это мне не очень нравится.
...
Рейтинг: 0 / 0
система с изменяющимися алгоритмами расчетов
    #32192837
arTimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нравится...не нравится....
нормальный вариант, у меня такое используется в программе составления бюджета предприятия для реализации различных формул и выборки данных из таблиц и 1С. конечно динамически созданные запросы на сиквеле (о, какие я слова знаю :) ) работают медленнее чем views или какие-нить stored procedures но ведь работают же!
...
Рейтинг: 0 / 0
система с изменяющимися алгоритмами расчетов
    #32192864
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариант нехороший, имхо.

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

Отвечу почему:
Если у меня есть доступ к таблице, я могу вместо запроса
select * from ...
поставить
delete from ....

что после этого будет думаю объяснять не нужно.
Как сделать для MDB-базы я себе такую задачу не ставил (и если честно не очень хочется). Как сделать для сиквела я уже предлагал.
...
Рейтинг: 0 / 0
система с изменяющимися алгоритмами расчетов
    #32192871
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
incold,
Мне надо для MDB
...
Рейтинг: 0 / 0
система с изменяющимися алгоритмами расчетов
    #32192901
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для MDB...а планируется ли в перспективе переход на клиент-сервер.

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

Преимущества:
менять алгоритм нужно в одном файле, который лежит рядом (вместе) с таблицами и не требуется распространять его по клиентским компьютерам.

Недостатки:
- если несколько пользователей запускают файлы которые имеют
ссылку на один общий файл загрузка значительно замедляется (работа нет)
- потребность отключать всех пользователей при изменении алгоритма, т.е. нет "горячего" добавления/изменения алгоритмов.
...
Рейтинг: 0 / 0
система с изменяющимися алгоритмами расчетов
    #32193067
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
incold,
Не совсем понял, но подумаю. Что значит, к примеру "лнковать файл". Мне известно понятие "связанная таблица Access", а что такое прилинкованный файл - мне неизвестно.
...
Рейтинг: 0 / 0
система с изменяющимися алгоритмами расчетов
    #32193069
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что, Access может работать с модулями, не находящимися в одном файле?
...
Рейтинг: 0 / 0
система с изменяющимися алгоритмами расчетов
    #32193183
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что, Access может работать с модулями, не находящимися в одном файле?
Может, через References.
Или можно использовать недокументированный LoadFromText.
...
Рейтинг: 0 / 0
система с изменяющимися алгоритмами расчетов
    #32193636
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
V. Motchulsky
"недокументированный LoadFromText" - что это такое?
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / система с изменяющимися алгоритмами расчетов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]