|
Проблема с поиском записи.
|
|||
---|---|---|---|
#18+
Всем добрый день! С прошедшими праздниками. Разрешите задать следующий вопрос. У меня есть текстовое поле, а ввожу данные в него, а внизу данного текстового поля грид, вязанные с данным текстовым полем. В частности, это должности. Я ввожу должность программист -он в гриде встает на первое вхождение, первую должность связанную с этим словом - это ведущий - программист. А в кадрах у нас есть еще такая должность - просто программист. Дак, он не "слезает" с должности ведущий программист и приходится руками листать и вставать на просто программист. А как мне сделать, чтобы точно по вхождению. Ведь я набирал программист, а он нашел не такую должность. Я привожу код своего поиска. Помогите пожалуйста. SELECT persond2 Locate for LOWER(Alltrim(ThisFormSet.Form2.Text12.Value)) $ LOWER(ALLTRIM(persond2.nm_pers)) if found() ThisFormSet.rec_zap = RECNO() GO ThisFormSet.rec_zap ThisFormSet.Form2.Gridpodrazd.Column1.SetFocus ThisFormSet.Form2.Text12.SetFocus endif Заранее большое спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 10:06 |
|
Проблема с поиском записи.
|
|||
---|---|---|---|
#18+
dima_18, всё как обычно, документацию же Пушкин пусть читает, не так ли? Сначала даем команду найти ПЕРВУЮ запись, в которой есть подстрока "программист", а потом удивляемся почему найден ведущий, а не просто программист. dima_18 чтобы точно по вхождениюнадо использовать условие поиска "точно по вхождению", а не по "любому вхождению". А если еще точнее, то раз уж хочется найти только то, что введено, то ни о каком вхождении и не мыслить, а искать точное соответствие. То бишь условие поиска должно быть Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 11:12 |
|
Проблема с поиском записи.
|
|||
---|---|---|---|
#18+
Большое спасибо, Sergey Sizov ! За ответ. А можно еще один вопрос. А как сделать так, чтобы я ввел в текстовое поле и гриде вышло все: ввел: ведущий программист вышло(показалось в гриде): ведущий программист программист обычный программист и т.д. Т.е. оставить этот запрос: SELECT persond2 Locate for LOWER(Alltrim(ThisFormSet.Form2.Text12.Value)) $ LOWER(ALLTRIM(persond2.nm_pers)) if found() ThisFormSet.rec_zap = RECNO() GO ThisFormSet.rec_zap ThisFormSet.Form2.Gridpodrazd.Column1.SetFocus ThisFormSet.Form2.Text12.SetFocus endif Но чтобы грид отсеивал не нужное. Т.к. с тем тоже проблемы возникли, а если ошибся хоть в одной букве, эту запись он не найдет никак. Спасибо большое. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 13:37 |
|
Проблема с поиском записи.
|
|||
---|---|---|---|
#18+
dima_18 Большое спасибо, Sergey Sizov ! За ответ. ввел: ведущий программист вышло(показалось в гриде): ведущий программист программист обычный программист и т.д.Дать соответствующую команду.Т.е. оставить этот запрос: SELECT persond2 Locate for LOWER(Alltrim(ThisFormSet.Form2.Text12.Value)) $ LOWER(ALLTRIM(persond2.nm_pers)) if found() ThisFormSet.rec_zap = RECNO() GO ThisFormSet.rec_zap ThisFormSet.Form2.Gridpodrazd.Column1.SetFocus ThisFormSet.Form2.Text12.SetFocus endif И где тут запрос? Процитирован набор команд и ни одного запроса. Но чтобы грид отсеивал не нужное.Это называется фильтрация/отбор. Т.к. с тем тоже проблемы возникли, а если ошибся хоть в одной букве, эту запись он не найдет никак.Надо правильно формулировать свои хотелки. :) Замените свое Код: sql 1.
на Код: sql 1.
, удалите напрочь Код: sql 1. 2. 3.
как совершенно бессмысленное и бесполезное и получите нужный результат. Правда это решение на скорую руку и с подводными камешками если не добавить команду Код: sql 1.
где-то перед удалением формы. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 13:51 |
|
Проблема с поиском записи.
|
|||
---|---|---|---|
#18+
Sergey Sizov, спасибо ! Да, все правильно Вы поняли. Только такой момент я это навесил на InteractiveChange текстового поля. Он отбирает записи как нужно. А если я стираю нужную строку для запроса, весь список должностей, который был до фильтра не возвращается. Помогите, пожалуйста, его обработать. Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 14:18 |
|
Проблема с поиском записи.
|
|||
---|---|---|---|
#18+
dima_18 А если я стираю нужную строку для запроса, весь список должностей, который был до фильтра не возвращается. Помогите, пожалуйста, его обработать. Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 14:42 |
|
|
start [/forum/topic.php?fid=41&gotonew=1&tid=1581596]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
14ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 286ms |
total: | 435ms |
0 / 0 |