Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Вниз

Подскажите как организовать алгоритм 


Siberia   (2002-03-12 10:56) [0]

Допустим, пользователь вводит в базу телефон ...
Ячейка для ввода позволяет ему ввести
что-то типа "{8632}12-34-56 (мама)"
Потом в поле для поиска вводит 123-456 ...
Как мне организовать алгоритм для такого поиска ...

Т.е. по идее - я должна очистить правую и левую сторону от всяческих других знаков, кроме цифр и сделать
select ... from table where field LIKE "%telephone%" ...

... но никак не могу понять - как же мне это сделать ...



Виктор Щербаков   (2002-03-12 11:24) [1]

Я бы не советовал хранить столько информации в одном поле.
Лучше код города хранить в одном поле, сам номер - в другом, ну а комментарии в третьем. Тогда задача поиска решится с помошью LIKE, а вычисляемые поля позволят нужным образом визуализировать инфу в ячейках таблицы.



gek   (2002-03-12 11:27) [2]

trim(telephone)
for i:=1 to length(telephone)do
if telephone[i] in [set_cif] then
telephone_real:=telephone_real + telephone[i];



DiggerAbstract   (2002-03-12 11:36) [3]

SELECT
*
FROM
KZK.T_AU
WHERE
CHAR(
UCASE(
REPLACE(
TRANSLATE(
Name," ","~`!@#$%^&*()-+=|\{}[];/?.><""" ,"
)," ",""
)
)
) LIKE "Т%"


Попробуй так



sniknik   (2002-03-12 11:40) [4]

конструкция
select ... from table where field LIKE "%telephone%"
найдет все, включая и введенные цифры. зачем заморачиватся и чтото чистить?



Siberia   (2002-03-12 11:44) [5]

DiggerAbstract

Это то, что нужно, наверно ...

Сейчас разберусь и попробую, если у тебя есть описание этих sql-функций - кинь пожалуйста ...



DiggerAbstract   (2002-03-12 11:53) [6]

нет - точного описания нет. но тут несложно ты и сама должна разобраться



Siberia   (2002-03-12 18:24) [7]

DiggerAbstract

Да ... все конечно гениальное просто ... тока вот парадокс не поддерживает translate ....

Че делать?



Siberia   (2002-03-12 18:28) [8]

и Raplace, кстати, тоже ...



Владислав   (2002-03-12 18:36) [9]

> Siberia (12.03.02 18:24)

"Че делать?"

Смотреть: sniknik © (12.03.02 11:40).



Bachin   (2002-03-12 18:53) [10]

2Владислав © (12.03.02 18:36)

всетаки лучше вариант Виктор Щербаков © (12.03.02 11:24)



Владислав   (2002-03-12 18:58) [11]

> Bachin © (12.03.02 18:53)

Бесспорно, но иногда бывают ситуации, когда программист не является "владельцем" базы, и запрос необходимо строить по "чужим" данным.



Anatoly Podgoretsky   (2002-03-12 21:45) [12]

Siberia (12.03.02 18:24)
Так Парадокс не SQL сервер, по этому лучше сканировать таблицу, по ходу делая необходимые преобразования, получаешь полную независимость от формата хранения и формаза запроса на поиск.
В данном случае надо убрать все знаки кроме чисел и игнорировать все что в скобка, если только текст в скобках прямо не уеазан в запросе, то есть приводить к одному виду.



Siberia   (2002-03-14 10:07) [13]

> sniknik © (12.03.02 11:40)

Ты не совсем понял вопрос ... если поле базы "32-32-32" - то подстрока "323" там найдена не будет при помощи LIKE

> Anatoly Podgoretsky © (12.03.02 21:45)

Мне в результате надо получить Query ... получается - что надо сканировать всю таблицу, а потом нужные по одному добавлять в Query???
ХМММММ ....



wicked   (2002-03-14 10:14) [14]

2 Siberia (14.03.02 10:07)
есть свойство Filtered.... и есть такое сообщение - OnFilterRecord... возможно, это то, что тебе нужно... только обрабатывать его надо БЫСТРО...




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.054 c
3-22524           Dmitiy                2002-03-13 13:28  2002.04.08  
Перенос данных из таблицы Dbase


3-22576           Zloy                  2002-03-18 07:03  2002.04.08  
Приветствую!!! Подскажите плиз, как сделать так чтобы таблица после каждого заполнения или редактирования какого-то поля 100% сохраналась


1-22737           snoup                 2002-03-26 13:45  2002.04.08  
Как сделать например мне нужно что бы я пороботал в программе изменил там что то


1-22665           ola                   2002-03-28 13:36  2002.04.08  
ApplicationEvents!!!!!


1-22730           Gayrus                2002-03-27 03:22  2002.04.08  
TComboBox