|
|
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
Не знаю возможно ли вообще такое :) Есть мэйн форма с полем для ввода ФИО. Задача: когда юзер начинает вводить фамилию, под контролом открывается форма, в которой по мере ввода сортируются имеющиеся в базе фамилии, после того, как юзер вводит пробел (чтобы начать вводить имя), сортировка в форме должна начаться по введенной фамилии и по вводимому имени. Как реализовать такую сортировку??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 20:58 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
Уточнение :) Проблема в том как после ввода пробела поменять параметры сортировки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 21:00 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
> по мере ввода сортируются имеющиеся в базе фамилии Сортируются или отсеиваются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 21:03 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
Отсеиваются, но с фамилиями это уже достигнуто :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 21:05 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 21:07 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
Спасибо идею вижу :) А отчество тоже так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 21:13 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
С отчеством сложнее, потому что надо ловить второй пробел. Так что лучше написать 3 функции и пользоваться ими. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 21:22 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
Спасибо, Саныч, ща разбираться буду :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 21:23 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
Саныч, у меня нет слов! Я не ожидал такого простого решения Разобрался - все работает Спасибо еще раз :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 22:30 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
Есть в этом деле одна неприятная штука. Для того чтобы происходил посимвольный отбор необходимо после ввода нового символа делать Recalc формы, а это получается крайне медленно. Можно ли как-то обойти это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 00:01 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
Я бы писал не Recalc, а Requery. Правда, на скорость это влиять не должно. Если работает медленно - надо искать почему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 13:41 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
Вместо Recalc формы я сделал Requery листбокса и все стало нармально работать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 15:07 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
ПРОДОЛЖЕНИЕ :) Теперь мне нужно сделать форму поиска. На форме: 6 полей с данными (ленточная форма) и, соответственно, 6 поле для ввола критериев поиска в соответствующих полях. 6-е поле - ФИО, которое имеет своим значением сочетание полей Фамилия, Имя и Отчество. Задача в принципе похожа: в поле поиска ФИО юзер последовательно вводит ФИО и происходит синхронный отбор. Проблема : предложенные выше функции я использовал в рекордсурсе формы. Но дело в то, что эти функции работают только со свойством .Text, запрос при загрузке формы не выполняется и возникает ошибка "Слишком сложное выражение и т.д. и т.п.". И что мне с этим делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 16:38 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
Насчет Text отвечаю сразу - его надо заменить на Value. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 16:55 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
С Value работает лучше (если ввсети в поле ФИО любой символ, а потом стереть его, то возникает таже ошибка, т.е. работает только, когда Null или введен любой символ), но выбираются только те записи, где есть и фамилия и имя и отчество ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 17:05 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
> но выбираются только те записи, где есть и фамилия и имя и отчество Потому что я написал Like "*". Наверно, в запросе надо добавить or ... is null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 17:10 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
iif(FunN([param])="*",true,fieldN like FunN([param]) Во как. Даже is null проверять не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 17:12 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
> если ввсети в поле ФИО любой символ, а потом стереть его, то возникает таже ошибка Интересно посмотреть, что происходит внутри функций. Может быть, надо описать в них параметр как Variant и добавить в самом начале каждой: if isnull(s)then Fun...="*" exit function endif ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 17:15 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
Так тоже пробывал - тогда в любом случае отображаются все записи. Вот запрос (для наглядности): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 17:15 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
Так тоже пробывал относится к варианту с Is null :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 17:17 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
Да, насчет is null я погорячился. И попробуй все-таки не пробывАть, а прОбовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 17:18 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
Может быть, надо описать в них параметр как Variant и добавить в самом начале каждой: .... В любом случае выдается список всех ФИО, где ФИО полностью введены ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 17:24 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
Ну так проверь, что возвращает каждая функция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 17:26 |
|
||
|
Поиск в подчиненной форме (как вычленить части из ФИО и фильтровать по 3 полям)
|
|||
|---|---|---|---|
|
#18+
Как выясняется звездочка она же "*" возвращает только непустые значения!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2003, 17:26 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32307862&tid=1678607]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
80ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 432ms |

| 0 / 0 |
