|
Забыл, как избавиться от макроподстановки :(
|
|||
---|---|---|---|
#18+
Знаю, что НЕ всегда можно корректно избавиться от макроподстановки, но можно ли это сделать вот в таком случае: ? Tablica='ImyaTablicy' && Имя имеющейся таблицы ?ALLTRIM(STR(&Tablica..Pole1,8,4)) && Эта макроподстановка срабатывает правильно А вот эти мои попытки избавиться от макроподстановки оказались безрезультатными :( ?ALLTRIM(STR(EVALUATE((Tablica).Pole1),8,4)) ?ALLTRIM(STR(EVALUATE(Tablica.Pole1),8,4)) ?ALLTRIM(STR(EVALUATE(Tablica).Pole1,8,4)) ?ALLTRIM(STR(EVALUATE(evaluate(Tablica).Pole1),8,4)) ?ALLTRIM(STR((Tablica).Pole1,8,4)) ?ALLTRIM(STR((Tablica)..Pole1,8,4)) Может, есть ещё какой-нибудь способ? Это мне нужно, чтобы передавать имя таблиц в функцию, в которой будут обрабатываться данные этих таблиц. В принципе, можно всё сделать и макроподстановкой, но хотелось бы обойтись без неё. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2016, 19:58 |
|
Забыл, как избавиться от макроподстановки :(
|
|||
---|---|---|---|
#18+
?ALLTRIM(STR(EVALUATE(m.Tablica+".Pole1"),8,4)) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2016, 22:03 |
|
Забыл, как избавиться от макроподстановки :(
|
|||
---|---|---|---|
#18+
tor300, Спасибо! Работает :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2016, 23:24 |
|
Забыл, как избавиться от макроподстановки :(
|
|||
---|---|---|---|
#18+
1. Если перед именем нет никакого префикса, то FoxPro предполагает, что речь идет об имени поля таблицы, открытой в текущей рабочей области. И только если такого поля нет, выполняется поиск переменной памяти с таким именем. 2. По умолчанию, алиас рабочей области, в которой открыта таблица, совпадает с именем таблицы. А поскольку переменная содержит имя, то можно использовать выражение имени (скобки) для перехода в нужную рабочую область Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2016, 11:26 |
|
Забыл, как избавиться от макроподстановки :(
|
|||
---|---|---|---|
#18+
To ВладимирМ : Да, насчёт "Если перед именем нет никакого префикса, то FoxPro предполагает, что речь идет об имени поля таблицы, открытой в текущей рабочей области. И только если такого поля нет, выполняется поиск переменной памяти с таким именем" - я постоянно об этом забываю и наступаю на эти грабли :( Хобби сформировалось уже, что ли?.. :) А 2-й пункт - иногда применяю. Пока снова по забывчивости не создам переменную с именем поля... Потому и решил было в данном случае поискать какие-нибудь более "контрастные" "макро-подобные" альтернативы. В любом случае - спасибо Вам! Вопрос решён успешно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2016, 10:10 |
|
|
start [/forum/topic.php?fid=41&msg=39262783&tid=1582092]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 276ms |
total: | 393ms |
0 / 0 |