Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Fox pro поиск, поиск записи в таблице 
:(
    Опции темы
mAtIk
Дата 21.5.2007, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 5.9.2006
Где: Khimki

Репутация: нет
Всего: нет



Fox pro 8.0 - хелп
Вот ситуация:
Есть таблица grid и поле ввода text box 
необходимо что бы при вводе запроса в text box выдавал моментальный результат и показывал его в grid(е) устанавливая указатель на подходящею запись по запросу(похожую. пример вводим 12 он выдает нам записи 1245,1246,1245 и так далее) 


PM MAIL YIM   Вверх
Cashey
Дата 23.5.2007, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3439
Регистрация: 13.11.2002
Где: в столице

Репутация: 13
Всего: 60



млин, я кому-то с форума уже делал такую фигню. вот только уже не помню кому.
там суть такая - в событие KeyPress анализируешь, что нажата буквенная или цифровая клавиша и устанавливаешь филтр по введенному значению. все очень просто

Добавлено через 10 минут и 58 секунд
а элементов ComboBox и ListBox есть свойство IncrementalSearch, выставление которого, приводит к автоматическому переходу к записи, занесенной в items.
это так, для справки smile


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
mAtIk
Дата 23.5.2007, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 5.9.2006
Где: Khimki

Репутация: нет
Всего: нет



Cashey а можно сам код плиз , что именно прописывать в событии KeyPress ?

буду очень признателен если еще и для символьного варианта.  smile 

PM MAIL YIM   Вверх
Cashey
Дата 24.5.2007, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3439
Регистрация: 13.11.2002
Где: в столице

Репутация: 13
Всего: 60



нет, кода я писать не буду, влом. если найду тот проект - вышлю


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
mAtIk
Дата 24.5.2007, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 5.9.2006
Где: Khimki

Репутация: нет
Всего: нет



Цитата(Cashey @ 24.5.2007,  08:44)
нет, кода я писать не буду, влом. если найду тот проект - вышлю

Сенкс
PM MAIL YIM   Вверх
Cashey
Дата 25.5.2007, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3439
Регистрация: 13.11.2002
Где: в столице

Репутация: 13
Всего: 60



Нет, не нашел :(
Вот люди, сделаешь им добро, а они исчезают без следа. Ведь делал же кому-то. Вот только где теперь этот кто-то......


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
mAtIk
Дата 30.5.2007, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 5.9.2006
Где: Khimki

Репутация: нет
Всего: нет



Вот сделал smile

это нужно вставить в InteractiveChage объекта textbox
Код


SELECT cursor
IF EMPTY(this.value) && проверка на наличие значения(value) в текстбоксе 
    SET FILTER TO && убераем фильтрацию 
    thisform.grid1.Refresh() &&обновляем grid 
    return 
endif

&&поиск осуществляется с применением объекта Optiongroup (в зависимости что искать текст или число)
IF ThisForm.Optiongroup1.Value=1 && Поиск по номеру 
    SET FILTER TO ALLTRIM(STR(поле1))=ALLTRIM(thisform.text10.value)
ELSE && Поиск по имени 
    SET FILTER TO AllTrim(thisform.text10.value)$UPPER(поле2)
ENDIF 
thisform.grid1.Refresh() &&обнавляем грид

поле1 - числовое
поле2 - текстовое



PM MAIL YIM   Вверх
natalikis
Дата 12.9.2007, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 28.6.2007

Репутация: нет
Всего: нет



А если не через 

Код

SELECT cursor

 
а чтобы параллельно с combo текстовое поле изменялось.
Как ?
PM MAIL   Вверх
ezhikzhik
Дата 2.8.2010, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.8.2010

Репутация: нет
Всего: нет



Цитата

Вот ситуация:
Есть таблица grid и поле ввода text box 
необходимо что бы при вводе запроса в text box выдавал моментальный результат и показывал его в grid(е) устанавливая указатель на подходящею запись по запросу(похожую. пример вводим 12 он выдает нам записи 1245,1246,1245 и так далее) 




у меня похожая ситуация, помоги плиз. только несколько полей для ввода и поиск по соответсвующим полям

user posted image

Это сообщение отредактировал(а) ezhikzhik - 2.8.2010, 19:10
PM MAIL   Вверх
Данкинг
Дата 2.8.2010, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 7
Всего: 130



ezhikzhik, создай новую тему, зачем топик трёхгодичной давности поднимать? 
Цитата(ezhikzhik @  2.8.2010,  20:08 Найти цитируемый пост)
только несколько полей для ввода и поиск по соответсвующим полям

Ну так и ставь фильтр с условием or.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
vatras
Дата 24.10.2010, 01:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 11.6.2010

Репутация: нет
Всего: нет



Я его укоротил, т.к. у меня поиск только по словам.
Код

SELECT people
IF EMPTY(this.value) && проверка на наличие значения(value) в текстбоксе 
    SET FILTER TO && убераем фильтрацию 
    thisform.grid1.Refresh() &&обновляем grid 
    return 
endif
    SET FILTER TO AllTrim(thisform.text1.value)$UPPER(Second_name)
thisform.grid1.Refresh() &&обнавляем грид


Есть, правда, один вопросик. Я делаю поиск по столбцу с фамилиями. т.е. все слова с заглавной буквы. Когда я ввожу прописную букву поиск на нее не реагирует. Он реагирует только на большие буквы. Если я начинаю поиск с буквы "с" то не получу вообще никакого результата. Если я введу "С" то мне выведут Столыпин Соколов и Высоцкий. Это поправимо ?


Это сообщение отредактировал(а) vatras - 24.10.2010, 02:24
PM MAIL   Вверх
Данкинг
Дата 25.10.2010, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 7
Всего: 130



Ну, соответственно,
Код

SET FILTER TO upper(AllTrim(thisform.text1.value))$UPPER(Second_name)




--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
vatras
Дата 28.10.2010, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 11.6.2010

Репутация: нет
Всего: нет



Данкинг, спасибо !!

Кстати, приделал интерактивный поиск, может кому пригодится: 
Код

SELECT people
  IF EMPTY(this.value) && проверка на наличие значения(value) в текстбоксе   
      SET FILTER TO && убераем фильтрацию   
      thisform.grid1.Refresh() &&обновляем grid   
      return   
  endif  

klu1=UPPER(AllTrim(thisform.text1.value))
SET FILTER TO UPPER(Second_name) = "&klu1." && должна быть установка Set Exact Off
thisform.grid1.Refresh()

PM MAIL   Вверх
specialist2013
Дата 8.6.2013, 03:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 8.6.2013

Репутация: нет
Всего: нет



Помогите пожалуйста написать в командной строке команду по фильтрации записи.
Я вот написал таким образом. Буду признателен, если кто-нибудь исправить проблему.....


BROWSE FOR Straxs.smo!>='05501' AND '05701'  - Нужно, чтобы программа оставляла только те записи, которые не равны тем значениям, которые указаны в кавычках....[code=foxpro]



Где у меня здесь ошибка.... Не могу найти.... Помогите...

Это сообщение отредактировал(а) specialist2013 - 8.6.2013, 03:07
PM MAIL   Вверх
Данкинг
Дата 8.6.2013, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 7
Всего: 130



"AND '05701'  " - это что такое? С чем это должно сравниваться-то? К тому же для сравнения "больше-меньше" значений тип поля должен быть числовым.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Google
  Дата 19.5.2019, 14:30 (ссылка)  





  Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Foxpro/Clipper/Dbase"
MoLeX

Запрещается!

1. Публиковать ссылки для чисто рекламных целей.

2. Оффтопить, флеймить, говорить не культурно.

Пожалуйста, адекватно задавайте свой вопрос. Тема должна создаваться с названием характеризующем Вашу проблему.

Задавайте вопросы правильно - как спросите, так вам и ответят.

Разрешено!

Давать ссылки на статьи, обзоры, если это не нарушает первый пункт правил.

Задавая вопрос, давайте нужную информацию касающуюся Вашей проблемы. Этим вы ускорите полезные ответы.

P.S. Размещение рекламы будет строго наказываться!



Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MoLeX

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Foxpro/Clipper/Dbase | Следующая тема »


 




[ Время генерации скрипта: 0.0816 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.