powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / B Select задать имя поля переменной??
8 сообщений из 8, страница 1 из 1
B Select задать имя поля переменной??
    #32285606
Dancer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как можно в Select задать имя поля, данные из которого выбираются, переменной ??
Ну, например, имя поля Fil1, Fill2... может храниться в переменнной Var(Var = "Fil1" .. "Fil2")
...
Рейтинг: 0 / 0
B Select задать имя поля переменной??
    #32285616
vklepko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fieldName = "my_Field_Name"

select name as &fieldName from ....
...
Рейтинг: 0 / 0
B Select задать имя поля переменной??
    #32285618
vklepko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или наоборот

fieldName = "my_Field_Name"

select &fieldName as "Name" from ....
...
Рейтинг: 0 / 0
B Select задать имя поля переменной??
    #32286813
Dancer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри! Не совсем правильно сформулировал вопрос :(
на самом деле мне нужно задать фильтр по полю, имя которого определяется в программе, а в фильтре задается кокретное поле)
...
Рейтинг: 0 / 0
B Select задать имя поля переменной??
    #32286818
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LOCAL lcFilter
lcFilter="MyField=1"

SELECT * FROM MyTab WHERE &lcFilter
...
Рейтинг: 0 / 0
B Select задать имя поля переменной??
    #32287336
Dancer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ВладимирМ : Большое спасибо! Просто через Select работает, а в Query выдаёт синтаксическую ошибку на значок подстановки(&). Как это можно реализовать в Query ?
...
Рейтинг: 0 / 0
B Select задать имя поля переменной??
    #32287719
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Через Query - это не получится. Причина здесь в том, что Query - это результат работы построителя запросов и он просто не может разложить на части строку, которая является макроподстановкой.

С другой стороны, файл QPR - это обычный PRG-файл, так что просто нет особого смысла делать отдельные Query, ну разве что как обучение.

Правда есть некоторые хитрые приемы, позволяющие писать нечто вроде "универсального" условия.

Например, если речь идет о символьных полях, то условие

Field1=''

Фактически равнозначно отсутствию какого-либо условия, поскольку сравнение с пустой строкой всегда вернет .T. (ну, в зависимости от настройки SET ANSI конечно)

Для числовых полей таким универсальным условием будет

BETWEEN(Field1,0,300000000)

Т.е. диапазон между минимально и максимально допустимыми для данного типа поля числовыми значениями.

А вот какие-именно это будут значения указываются через вопросительные знаки

WHERE Field1=?Var1 AND BETWEEN(Field2,?Var2,?Var3)

Вопросительный знак говорит FoxPro о том, что дальше идет имя параметра. Значение этого параметра должно быть определено непосредственно перед вызовом QPR. В противном случае возникнет диалоговое окно с предложением ввести значение не указанных параметров.
...
Рейтинг: 0 / 0
B Select задать имя поля переменной??
    #32291904
Dancer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ВладимирМ: Спасибо большое! Как всегда очень толковый совет!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / B Select задать имя поля переменной??
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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