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

Откуда:
Сообщений: 10
Добрый день.
Имеется окно, на котором расположены два TextBox. В первый вводится табельный номер, по которому нужно найти информацию в таблице uvrab.dbf. Найденная информация должна отобразиться во втором.

Код:

ID_poiska = thisform.Text1.Value
IF EMPTY(ID_poiska)
MESSAGEBOX("Не задан критерий поиска!", 48, "Внимание")
ELSE
select * from uvrab WHERE (Tab==ID_poiska)
thisform.Text2.Value = ALLTRIM(uvrab.Tab) + " " + ALLTRIM(uvrab.Fio)
endif

Выдает ошибку.

Как организовать поиск по вводимой пользователем строке?
27 дек 08, 20:26    [6629080]     Ответить | Цитировать Сообщить модератору
 Re: Поиск в базе данных и их вывод в TextBox  [new]
BMJ
Member

Откуда: Москва
Сообщений: 270
SELE в данном виде не сработает, данные берете из той же таблицы, тогда ставьте SET FILTER.
27 дек 08, 20:59    [6629117]     Ответить | Цитировать Сообщить модератору
 Re: Поиск в базе данных и их вывод в TextBox  [new]
0le4ka
Member

Откуда:
Сообщений: 10
BMJ, спасибо Вам большое :)

Вот, что у меня получилось в итоге:

ID_poiska = VAL(thisform.Text1.Value)
IF EMPTY(ID_poiska)
MESSAGEBOX("Не задан критерий поиска!", 48, "Внимание")
ELSE
USE uvrab
set filter to Tab==ID_poiska
browse
ENDIF
27 дек 08, 22:56    [6629292]     Ответить | Цитировать Сообщить модератору
 Re: Поиск в базе данных и их вывод в TextBox  [new]
BMJ
Member

Откуда: Москва
Сообщений: 270
0le4ka,

Табельный номер с бумажки или по памяти вводится? Обычно предлагают список для выбора. Тогда конструкция USE table закроет ранее открытые таблицы. Use ... IN 0
Надежнее после USE table вставлять sele table ( не запрос, а переход в выбранную область)
27 дек 08, 23:06    [6629301]     Ответить | Цитировать Сообщить модератору
 Re: Поиск в базе данных и их вывод в TextBox  [new]
BMJ
Member

Откуда: Москва
Сообщений: 270
Да, если просто смотреть то может BROW FOR условие удобней.
27 дек 08, 23:08    [6629303]     Ответить | Цитировать Сообщить модератору
 Re: Поиск в базе данных и их вывод в TextBox  [new]
0le4ka
Member

Откуда:
Сообщений: 10
Т.е. в итоге должно получиться вот так?

ID_poiska = VAL(thisform.Text1.Value)
IF EMPTY(ID_poiska)
MESSAGEBOX("Не задан критерий поиска!", 48, "Внимание")
ELSE
SELECT uvrab
BROWSE FOR Tab==ID_poiska
ENDIF

Только у меня теперь другая проблема:( В любом случае таблица открывается как пустая. Даже в самой среде после выполнения команды browse. Сброс фильтров set filter to не помогает. Как это исправить?
28 дек 08, 17:58    [6630061]     Ответить | Цитировать Сообщить модератору
 Re: Поиск в базе данных и их вывод в TextBox  [new]
BMJ
Member

Откуда: Москва
Сообщений: 270
А данные в таблице вообще есть,проверено ?
28 дек 08, 18:26    [6630091]     Ответить | Цитировать Сообщить модератору
 Re: Поиск в базе данных и их вывод в TextBox  [new]
0le4ka
Member

Откуда:
Сообщений: 10
Есть наверняка :) Просто я тоже подумала, что случайно удалила все данные, но открыла таблицу сторонним вьювером, там все отображалось
28 дек 08, 18:31    [6630093]     Ответить | Цитировать Сообщить модератору
 Re: Поиск в базе данных и их вывод в TextBox  [new]
BMJ
Member

Откуда: Москва
Сообщений: 270
Не вяжется, если есть данные должны отображаться при отсутствии фильтра, что-то где-то не так.
28 дек 08, 18:33    [6630097]     Ответить | Цитировать Сообщить модератору
 Re: Поиск в базе данных и их вывод в TextBox  [new]
0le4ka
Member

Откуда:
Сообщений: 10
BMJ, наверное, я случайно таблицу испортила)) Сейчас заменила ее старой копией - стало все нормально
28 дек 08, 18:37    [6630100]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить