Помогите фильтровать данные в форме

vadim2012
Дата: 01.11.2012 11:31:10
В простой форме одна таблица (грид) с индексированным полем "фио". Какими средствами организовать следующий процесс. Создать на этой форме строку ввода временной переменной - poisk_str, чтобы нажав на созданную рядом кнопку "поиск" (с командой SET FILTER TO фио=poisk_str) получить на экране выборку из таблицы из 1-5 записей соответствующих - poisk_str.
После структурного программирования и отсутствия практики тяжело въехать в объектно-ориентированное =:-)
Спасибо.
Koryuu
Дата: 01.11.2012 12:50:11
Собственно, вы сами же и написали свой код

select table1
set filter to fio=allt(thisform.txtpoisk.value)
thisform.grid1.refresh 


-----
Я опять неправильно понял вопрос, да?
vadim2012
Дата: 01.11.2012 13:19:28
Спасибо.
Форма записи мне понятна - это код для кнопки. Только почему-то выдает ошибку, что не может найти мою переменную (poisk_str) для фильтрации, которую я ввожу через TextBox... Странно, дебагер эту переменную видит. Я ее обявляю при инициализации формы как Global-переменную.
Может быть в свойствах TextBox, что-то надо корректировать, или организовать ввод переменной по другому?
tanglir
Дата: 01.11.2012 13:25:15
vadim2012
Только почему-то выдает ошибку, что не может найти мою переменную (poisk_str) для фильтрации, которую я ввожу через TextBox
Это очень странно, учитывая, что в вышеприведённом коде нет ни единого упоминания переменной poisk_str.
Или на кнопке всё же не этот код, а ваш? Тогда давайте его сюда на растерзание :)
vadim2012
Дата: 01.11.2012 13:41:14
Честно говоря, я подумал, что в коде txtpoisk - и есть моя переменная poisk_str. Ан, видимо не так все организовано...
txtpoisk - это какая-то системная переменная? Но и на нее ругается система, что не находит.
На растерзание на отдам, буду терзать сам до победного... :)
tanglir
Дата: 01.11.2012 13:45:21
vadim2012
Честно говоря, я подумал, что в коде txtpoisk - и есть моя переменная poisk_str. Ан, видимо не так все организовано...
Это имя (свойство name) текстбокса, в который надо вводить имя (искомую строку).
Koryuu
Дата: 01.11.2012 14:01:22
ок, если надо именно через переменную
poisk_str=allt(thisform.text1.value) && это текстовое окно, которое в первом случае было названо txtpoisk. Привычка )
select table1
set filter to fio=poisk_str
thisform.grid1.refresh 


попробуйте так. Как вариант, иногда приходится писать
set filter to fio=&poisk_str
IgorNG
Дата: 01.11.2012 15:20:08
Koryuu
ок, если надо именно через переменную
poisk_str=allt(thisform.text1.value) && это текстовое окно, которое в первом случае было названо txtpoisk. Привычка )
select table1
set filter to fio=poisk_str
[color=red]GO TOP[/color]
thisform.grid1.refresh 


попробуйте так. Как вариант, иногда приходится писать
set filter to fio=&poisk_str


А GO TOP кто будет ставить, чтобы фильтр применился.
vadim2012
Дата: 01.11.2012 15:24:14
Гениально! Всё заработало!!!
У меня, правда, форма была посложнее, там - PageFrame, Page , когда "до меня дошло" всю строку написал и всё заработало!!!!!
Большое спасибо! Конечно, форма записи сложновата в объектно-ориентированном, ни как не привыкну.
Удачи нам всем!
Помогая другим, мы становимся сильнее сами!