Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 SQL запрос  [new]
X_quazar
Member

Откуда:
Сообщений: 5
Всем привет!

word=UPPER(ALLTRIM(thisform.text1.Value))
SELECT * FROM table_name WHERE (field_name=word) INTO CURSOR temptable_name
thisform.grid1.RecordSource='temptable_name'

Возможно ли выполнить данный запрос, если не прописывать имя поля в условии непосредственно, а вместо него использовать какую-либо переменную, хранящую имя того самого поля...?

Пытался сделать что-то вроде
word=UPPER(ALLTRIM(thisform.text1.Value))
field=UPPER(ALLTRIM(thisform.text2.Value))
SELECT * FROM table_name WHERE (field=word) INTO CURSOR temptable_name
или
n=UPPER(ALLTRIM(thisform.text2.Value))
SELECT * FROM table_name WHERE (FIELD(n)=word) INTO CURSOR temptable_name
не помогло, в grid просто ничего не выводится.

Заранее спасибо!
19 май 14, 15:00    [16037091]     Ответить | Цитировать Сообщить модератору
 Re: SQL запрос  [new]
Dima T
Member

Откуда:
Сообщений: 15281
Попробуй так
thisform.grid1.RecordSource=''
SELECT * FROM table_name WHERE (field_name=word) INTO CURSOR temptable_name
thisform.grid1.RecordSource='temptable_name'

или после этого программно наполнить грид колонками
19 май 14, 15:12    [16037188]     Ответить | Цитировать Сообщить модератору
 Re: SQL запрос  [new]
IgorNG
Member

Откуда: Москва
Сообщений: 956
X_quazar
Всем привет!

word=UPPER(ALLTRIM(thisform.text1.Value))
SELECT * FROM table_name WHERE (field_name=word) INTO CURSOR temptable_name
thisform.grid1.RecordSource='temptable_name'

Возможно ли выполнить данный запрос, если не прописывать имя поля в условии непосредственно, а вместо него использовать какую-либо переменную, хранящую имя того самого поля...?

Пытался сделать что-то вроде
cword=UPPER(ALLTRIM(thisform.text1.Value))
cfield=UPPER(ALLTRIM(thisform.text2.Value))
cWhere = "cfield = cword"
SELECT * FROM table_name WHERE (cWhere) INTO CURSOR temptable_name
или
n=UPPER(ALLTRIM(thisform.text2.Value))
SELECT * FROM table_name WHERE (FIELD(n)=word) INTO CURSOR temptable_name
не помогло, в grid просто ничего не выводится.

Заранее спасибо!
19 май 14, 15:14    [16037198]     Ответить | Цитировать Сообщить модератору
 Re: SQL запрос  [new]
SoftwareBoy
Guest
word=UPPER(ALLTRIM(thisform.text1.Value))
field=UPPER(ALLTRIM(thisform.text2.Value))
SELECT * FROM table_name WHERE &field=word INTO CURSOR temptable_name
19 май 14, 15:22    [16037275]     Ответить | Цитировать Сообщить модератору
 Re: SQL запрос  [new]
X_quazar
Member

Откуда:
Сообщений: 5
как же всё однако просто. Второй день мучился)
Всё заработало, только &field оказалось также необходимым привести к верхнему регистру
SELECT * FROM table_name WHERE (UPPER(&field)=word) INTO CURSOR temptable_name.

Всем БОЛЬШОЕ спасибо!!!
19 май 14, 15:42    [16037456]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить