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