|
|
|
Трансформация текста в код ВБ
|
|||
|---|---|---|---|
|
#18+
Собственно, такая задачка. На каждого клиента хочу завести персональную формулу расчета текущей цены. Формула в текстовом формате в поле таблицы "Klients". Так вот, как бы мне это текстовое значение преобразовать в код ВБ, в моей функции? Ногами только не бейте :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:20 |
|
||
|
Трансформация текста в код ВБ
|
|||
|---|---|---|---|
|
#18+
Тебе не нужно его преобразовывать, а нужно использовать (например, запрос или DAO) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:22 |
|
||
|
Трансформация текста в код ВБ
|
|||
|---|---|---|---|
|
#18+
Имхо, нехороший способ, но реализуется с помощью функции Eval() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:23 |
|
||
|
Трансформация текста в код ВБ
|
|||
|---|---|---|---|
|
#18+
есть такая функц Eval помоему. приведи пример формулы проще будет показать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 14:24 |
|
||
|
Трансформация текста в код ВБ
|
|||
|---|---|---|---|
|
#18+
кроме Eval, который работает когда-как (в зависимости от того, кто его вызвал, и, по моему, не вызывается из AccessSQL), можно текст вставить в нечто исполняемое. Можно навскидку придумать следующие мыслимые выходы А. - выполнение "пошиваемой" SQL строки. Под это дело заюзать либо спец табличку, либо 1 запись из системной ("Select TOP 1" & doublekavytchka(myExecutedString) as value & " FROM MSysObjects"). Минусы - 1. открывать рекордсет (объявлять объектные переменные). 2. - дисковая операция чтения таблички. Б. - вставка текста в вычисляемое свойство объекта - например ControlSource и запуск Recalc. МИнусы наверняка есть. Объект можно/нужно иметь простой по возможности и всегда открытый. (на случай "массового" вызова функции). МОжно хранить в результирующем наборе текст ф-ции, а значение получать парой контролов - свойство ControlSource одного должно браться (изготавливаться) из св-ва Value другого. Когда один контрол лежит под другим, это похоже на поведение вычисляемой ячейки ёкселя (по входу попадаете в формулу, по выходу видите значение). Плохо, если ленточные формы. Плохо, (не очень хорошо) если нужно вычислять агрегаты по "вычисляемым" полям - приходиться обращаться к (какому-нить) объекту и перевычислять значение поля для каждой записи. Если покопаться, можно найти еще места, втавленная в которые строка вычисляется Аксесом. Но видел я и анализаторы строки с (заведомо) ограниченным набором пользовательских функций, операций и переменных. Причем синтаксис разбирался на этапе "компиляции" в спец табличку, выполнение же сводилось к свертке таблицы синтаксически "разобранной" ф-ции с таблицами данных (бухгалтерия) - т.е. быстро на больших объемах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2003, 19:37 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1760&tid=1679830]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 420ms |

| 0 / 0 |
