powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Автоподбор значений в TextBox
4 сообщений из 4, страница 1 из 1
Автоподбор значений в TextBox
    #35419414
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача вроде простая, есть запрос к таблице и в TextBox вводится какое либо слово, сразу осуществялется поиск и первое из всех найденных подставляется в TextBox, вот только не задача, не могу решить что делать с пробелом, его никак не получается отследить и поэтому ввести слово с пробелом не получается.

Все происходит в методе InteractivaChange
Пробовал 2-мя вариантами:

per1=ALLTRIM(thisform.tNaim3.Text)
bbb="select Naim3 from spr3 where Naim3 like '"+per1+"%'"
SQLEXEC(aaa,bbb,'qseek')
IF RECCOUNT()>0
SELECT qseek
GO top
thisform.tNaim3.Value = qseek.Naim3
thisform.tNaim3.SelStart=LEN(per1)
thisform.tNaim3.SelLength=LEN(ALLTRIM(thisform.tNaim3.Text))-LEN(per1)
endif

Пробовал через ComboBox и Чтобы выбиралось минимальное значение писал так

per1=thisform.tselo.Text
per2=ALLTRIM(per1)
thisform.tselo.RowSource =.null.
bbb="select selo, kod, { fn LENGTH(selo) } AS dlina from Sprselo where selo like '"+per2+"%' order by dlina"
SQLEXEC(aaa,bbb,'selokod')
thisform.tselo.RowSource ='selokod'
IF RECCOUNT("selokod")>0
thisform.tselo.Value = kod
thisform.tselo.SelStart=LEN(per2)
thisform.tselo.SelLength=LEN(ALLTRIM(thisform.tselo.Text))-LEN(per2)
ENDIF

Пробовал использовать метод KeyPress, чтобы отследить какая клавиша нажата, опять не получается

LPARAMETERS nKeyCode, nShiftAltCtrl
DO CASE
CASE nKeyCode=32
per1=ALLTRIM(thisform.tNaim2.Text)+' '
CASE nKeyCode=7
per1=''
CASE nKeyCode=127
per1=''
OTHERWISE
per1=ALLTRIM(thisform.tNaim2.Text)
ENDCASE
bbb="select Naim2 from spr3 where Naim2 like '"+per1+"%'"
SQLEXEC(aaa,bbb,'qseek')
IF RECCOUNT()>0
SELECT qseek
GO top
thisform.tNaim2.Value = qseek.Naim2
thisform.tNaim2.SelStart=LEN(per1)
thisform.tNaim2.SelLength=LEN(ALLTRIM(thisform.tNaim2.Text))-LEN(per1)
ENDIF

Вот и не знаю как мне быть, необходимо через TextBox выбрать нужное и даже использовав пробел и если нет то свободно чтобы ввести то значение которго нет в списке
...
Рейтинг: 0 / 0
Автоподбор значений в TextBox
    #35419759
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все спасибо я уже решил проблему, если кому интересно могу написть как...
...
Рейтинг: 0 / 0
Автоподбор значений в TextBox
    #35419997
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так Вы лучше здесь и напишите (код) - и все, кому будет интересно, смогут, не беспокоя Вас, всё узнать.
...
Рейтинг: 0 / 0
Автоподбор значений в TextBox
    #35420022
Фотография AngelOKES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно мне не жалко, просто думал может ни кому это не интересно. Вообщем сдела все как и планировал в TextBox на событие InteractiveChange:

DO CASE
CASE Lastkey()=32
per1=ALLTRIM(thisform.tNaim2.Text)+' '
CASE Lastkey()=7
per1=''
CASE Lastkey()=127
per1=''
OTHERWISE
per1=ALLTRIM(thisform.tNaim2.Text)
ENDCASE
IF Lastkey()<>32
bbb="select Naim2 from spr3 where Naim2 like '"+per1+"%'"
SQLEXEC(aaa,bbb,'qseek')
IF RECCOUNT()>0
SELECT qseek
GO top
thisform.tNaim2.Value = qseek.Naim2
thisform.tNaim2.SelStart=LEN(per1)
thisform.tNaim2.SelLength=LEN(ALLTRIM(thisform.tNaim2.Text))-LEN(per1)
ENDIF
ELSE
IF LEN(ALLTRIM(thisform.tNaim2.Text))>LEN(per1)
thisform.tNaim2.SelStart=LEN(per1)
thisform.tNaim2.SelLength=LEN(ALLTRIM(thisform.tNaim2.Text))-LEN(per1)
ENDIF
ENDIF
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Автоподбор значений в TextBox
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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