|
|
|
Автоподбор значений в TextBox
|
|||
|---|---|---|---|
|
#18+
Задача вроде простая, есть запрос к таблице и в 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 выбрать нужное и даже использовав пробел и если нет то свободно чтобы ввести то значение которго нет в списке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2008, 10:18 |
|
||
|
Автоподбор значений в TextBox
|
|||
|---|---|---|---|
|
#18+
Все спасибо я уже решил проблему, если кому интересно могу написть как... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2008, 11:32 |
|
||
|
Автоподбор значений в TextBox
|
|||
|---|---|---|---|
|
#18+
Так Вы лучше здесь и напишите (код) - и все, кому будет интересно, смогут, не беспокоя Вас, всё узнать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2008, 12:24 |
|
||
|
Автоподбор значений в TextBox
|
|||
|---|---|---|---|
|
#18+
Конечно мне не жалко, просто думал может ни кому это не интересно. Вообщем сдела все как и планировал в 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2008, 12:33 |
|
||
|
|

start [/forum/topic.php?fid=41&tid=1587561]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 304ms |

| 0 / 0 |
