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

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

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

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


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


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