|
|
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
есть ДБФ с полями: tel С 7 (2-10-00); Fio C 240 (Иванов Иван Иванович) Как мне отобразить элементы в форме, в которых буду задавать данные для поиска? Пример: поиск по телефону - какой элемент, с учетом того что формат телефона 2-10-00 т.е. поле одно а ввожу 21000 (знак - непечатаемый); и поиск по ФИО - какой элемент, с учетом того что надо искать по сочетанию символов (Иван-> Иванов Иван, Петров Иван, Иван Сидоров) и выводить данные насколько я понимаю в элемент Grid. Поиск по телефону можно организовать! Но меня смущает организация такого поиска по ФИО? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 10:56 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
Многовато поле для ФИО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 15:54 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
2 jonvtur Легко! в выборке после where пишешь ATC("Иван",Fio)>0 . Есил будут совпадения то будет результат положительный и выбереться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2006, 16:35 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
поле FIO большое потому что кроме фамилии, имени и отчество у меня в этом поле занесены еще и полные наименования организации, в которых может и 200 символов быть! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 06:37 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
Почитай про функцию like() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 07:14 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
попробую объяснить задачу: есть форма Sprav с выводом всех полей базы данных (всех реквизитов абонента). Есть Command Button (ПОИСК) в этой форме, который запускает форму Seek в ней есть элемент Grid, которое показывает содержимое: Телефон, ФИО, Город, Улица, дом, кв. мне надо созадть элементы формы Seek для ввода искомых данных по полям, с учетом того что было описано выше! И если он найдет и выведет в Grid 10 или 40 записей с полем FIO = Иван то я должен визуально найти человека в Gridе вернуться в Sprav и увидеть все данные о нем! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 07:21 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
posmotri: http://www.foxclub.ru/sol/index.php?act=view&id=505 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 08:26 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
сделал форму как в примере(http://www.foxclub.ru/sol/index.php?act=view&id=505), переписал немного код Выдает при запуске формы "Синтаксическая ошибка" Что за фигня? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 11:33 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
Noverno zabil pro Public load formu napisat Public L1, LN1,L2,LN2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 12:05 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
Посмотри http://www.sql.ru/forum/actualthread.aspx?tid=264173 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 12:21 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
переменные забил ошибка исчезла. Еще одна проблемма возникает: искать поля которые содержат 2-10-00 он просто в Text Box их не хочет забивать, только а-я и тут же нужно ввести ПРОБЕЛ чтобы набрать "Иванов Перт" не хочет его вводить! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 13:09 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
из за функций которыя использую ATC? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 13:10 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
Lutshe bi bila kajdiy zapis xranilas na otdelnom pole tablitsi, oqo lekqo budet otrobotat.Toqda ti mojesh ispolzivat funksiyu LIKE.Vot malinkey primer: SELECT * FROM ABON ; WHERE LEFT(abon.kod,2) == "01" AND ; LIKE(ABN,UPPER(ALLTRIM(ABON.name))) AND ; LIKE(TEL,UPPER(ALLTRIM(ABON.tel))) AND ; INTO TABLE nFind GO TOP Thisform.Grid1.RecordSource = "nFind" Thisform.Grid1.Refresh ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 14:03 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
Lutshe bi bila kajdiy zapis xranilas na otdelnom pole tablitsi, oqo lekqo budet otrobotat.Toqda ti mojesh ispolzivat funksiyu LIKE.Vot malinkey primer: SELECT * FROM ABON ; WHERE LEFT(abon.kod,2) == "01" AND ; LIKE(ABN,UPPER(ALLTRIM(ABON.name))) AND ; LIKE(TEL,UPPER(ALLTRIM(ABON.tel))) AND ; INTO TABLE nFind GO TOP Thisform.Grid1.RecordSource = "nFind" Thisform.Grid1.Refresh ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 14:06 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
Lutshe bi bila kajdiy zapis xranilas na otdelnom pole tablitsi, oqo lekqo budet otrobotat.Toqda ti mojesh ispolzivat funksiyu LIKE.Vot malinkey primer: SELECT * FROM ABON ; WHERE LEFT(abon.kod,2) == "01" AND ; LIKE(ABN,UPPER(ALLTRIM(ABON.name))) AND ; LIKE(TEL,UPPER(ALLTRIM(ABON.tel))) AND ; INTO TABLE nFind GO TOP Thisform.Grid1.RecordSource = "nFind" Thisform.Grid1.Refresh ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 14:08 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
malinkaya poprayka ABN = UPPER(CHRTRAN(ALLTRIM(THISFORM.text1.Value),' ','*')) TEL = UPPER(CHRTRAN(ALLTRIM(THISFORM.text2.Value),' ','*')) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 14:17 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
Посмотри еще до кучи вот это решение Само решение несколько о другом, но в примере разбирается именно твоя задача. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2006, 14:43 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
написал так: SELECT sprav PUBLIC t,l IF THISFORM.optiongroup1.Value =1 t = ALLTRIM(THISFORM.text1.Value) l= LEN(t) IF !EMPTY(THISFORM.TEXT1.Value) SET FILTER TO LEft(CHRTRAN(sprav.tel,substr(sprav.tel,2,1),SPACE(0)),l) == t endif ELSE SET FILTER TO LEft(CHRTRAN(sprav.tel,substr(sprav.tel,2,1),SPACE(0)),l) == t endif GO TOP Thisform.Grid1.Refresh получается что: набираешь 2-10-11, он Grid необновляет, обновляет только после того как, мышкой переходишь на грид а затем обратно в text1. Только тогда получается желаемый результат. А надо чтобы после каждого нажатия символа обновлял ГРИД (допустим: вводим 2-11, он долже в гриде уже отфильтровать (set filter to) таблицу)! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2006, 11:10 |
|
||
|
Организация поиска по полям?
|
|||
|---|---|---|---|
|
#18+
поменял процедуру на InteractiveChange и вписал измененный код: SELECT sprav PUBLIC t,l IF THISFORM.optiongroup1.Value =1 t = ALLTRIM(THISFORM.text1.Value) l= LEN(t) IF !EMPTY(THISFORM.TEXT1.Value) SET FILTER TO LEft(CHRTRAN(sprav.tel,substr(sprav.tel,2,1),SPACE(0)),l) == t ELSE IF !EMPTY(THISFORM.TEXT1.Value) SET FILTER TO LEft(CHRTRAN(sprav.tel,substr(sprav.tel,2,1),SPACE(0)),l) == t endif endif ELSE IF !EMPTY(THISFORM.TEXT1.Value) SET FILTER TO LEft(CHRTRAN(sprav.tel,substr(sprav.tel,2,1),SPACE(0)),l) == t ELSE IF !EMPTY(THISFORM.TEXT1.Value) SET FILTER TO LEft(CHRTRAN(sprav.tel,substr(sprav.tel,2,1),SPACE(0)),l) == t endif ENDIF endif GO TOP Thisform.Grid1.Refresh Спасибо всем за помощь!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2006, 11:24 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33602103&tid=1592112]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
232ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 572ms |

| 0 / 0 |
