powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Трансформация текста в код ВБ
6 сообщений из 6, страница 1 из 1
Трансформация текста в код ВБ
    #32240351
Daulet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно, такая задачка. На каждого клиента хочу завести персональную формулу расчета текущей цены. Формула в текстовом формате в поле таблицы "Klients". Так вот, как бы мне это текстовое значение преобразовать в код ВБ, в моей функции?
Ногами только не бейте :)
...
Рейтинг: 0 / 0
Трансформация текста в код ВБ
    #32240359
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе не нужно его преобразовывать, а нужно использовать (например, запрос или DAO)
...
Рейтинг: 0 / 0
Трансформация текста в код ВБ
    #32240363
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имхо, нехороший способ, но реализуется с помощью функции Eval()
...
Рейтинг: 0 / 0
Трансформация текста в код ВБ
    #32240364
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть такая функц Eval помоему.
приведи пример формулы
проще будет показать
...
Рейтинг: 0 / 0
Трансформация текста в код ВБ
    #32240870
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кроме Eval, который работает когда-как (в зависимости от того, кто его вызвал, и, по моему, не вызывается из AccessSQL), можно текст вставить в нечто исполняемое. Можно навскидку придумать следующие мыслимые выходы

А. - выполнение "пошиваемой" SQL строки. Под это дело заюзать либо спец табличку, либо 1 запись из системной ("Select TOP 1" & doublekavytchka(myExecutedString) as value & " FROM MSysObjects").

Минусы - 1. открывать рекордсет (объявлять объектные переменные). 2. - дисковая операция чтения таблички.

Б. - вставка текста в вычисляемое свойство объекта - например ControlSource и запуск Recalc. МИнусы наверняка есть. Объект можно/нужно иметь простой по возможности и всегда открытый. (на случай "массового" вызова функции). МОжно хранить в результирующем наборе текст ф-ции, а значение получать парой контролов - свойство ControlSource одного должно браться (изготавливаться) из св-ва Value другого. Когда один контрол лежит под другим, это похоже на поведение вычисляемой ячейки ёкселя (по входу попадаете в формулу, по выходу видите значение). Плохо, если ленточные формы. Плохо, (не очень хорошо) если нужно вычислять агрегаты по "вычисляемым" полям - приходиться обращаться к (какому-нить) объекту и перевычислять значение поля для каждой записи.


Если покопаться, можно найти еще места, втавленная в которые строка вычисляется Аксесом. Но видел я и анализаторы строки с (заведомо) ограниченным набором пользовательских функций, операций и переменных. Причем синтаксис разбирался на этапе "компиляции" в спец табличку, выполнение же сводилось к свертке таблицы синтаксически "разобранной" ф-ции с таблицами данных (бухгалтерия) - т.е. быстро на больших объемах.
...
Рейтинг: 0 / 0
Трансформация текста в код ВБ
    #32241028
Daulet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем большое! Eval() - есть такая функция! :)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Трансформация текста в код ВБ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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