Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выборка чисел. / 7 сообщений из 7, страница 1 из 1
28.09.2004, 15:25
    #32714963
graber
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка чисел.
Уважаемые господа !!!
Помогите не очень опытному в VFP 50.
Есть табличка в ней поле с 13 значным числом вида
X-XXXX-XXXX-XXXX
Есть формочка в ней user набирает "X-123X-XX5X-XXXX"
или "2-XX32-3XXX-67XX" или что-то в этом духе.
Кнопочка <печатать> и в отчет идет выборка, где вместо XXX
идут любые цифры (естественно из имеющихся в таблице записей).
Что FOX не хочет этого делать. Все норовит либо вообще ничего не
выбирать. Либо только по полным совпадениям.
Подскажите (просьба - по подробнее) где и что ему нужно.
Заранее спасибо !!!
...
Рейтинг: 0 / 0
28.09.2004, 15:40
    #32714998
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка чисел.
В FoxPro есть функция LIKE() в ней используются служебные символы

* - любое количество символов
? - один символ

Однако есть еще опция LIKE в команде Select-SQL в ней используются уже другие служебные символы

% - любое количество символов
_ - один символ

Т.е., если ты используешь FOR-условие, то синтаксис будет примерно такой:

REPORT FORM MyReport FOR LIKE("?-123?-??5?-????",MyTable.MyField)

Если же команду Select-SQL, то можно использовать функция LIKE() в приведенном синтаксисе или же опцию LIKE

SELECT * FROM MyTab WHERE MyField LIKE "_-123_-__5_-____"

Правда, такой поиск будет ну очень медленным.
...
Рейтинг: 0 / 0
28.09.2004, 15:47
    #32715013
SergeyPl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка чисел.
select* from t_test where f_name like "%%%-45-%%%"
...
Рейтинг: 0 / 0
28.09.2004, 18:17
    #32715416
milash_1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка чисел.
ВладимирМВ FoxPro есть функция LIKE() в ней используются служебные символы

* - любое количество символов
? - один символ

Однако есть еще опция LIKE в команде Select-SQL в ней используются уже другие служебные символы

% - любое количество символов
_ - один символ

Т.е., если ты используешь FOR-условие, то синтаксис будет примерно такой:

REPORT FORM MyReport FOR LIKE("?-123?-??5?-????",MyTable.MyField)

Если же команду Select-SQL, то можно использовать функция LIKE() в приведенном синтаксисе или же опцию LIKE

SELECT * FROM MyTab WHERE MyField LIKE "_-123_-__5_-____"

Правда, такой поиск будет ну очень медленным.

маленькое добавление---
Параметр для оператора Like можно и нужно формировать заранее исходя из запроса пользователя и затем вставлять в оператор макроподстановкой
SELECT * FROM MyTab WHERE MyField LIKE &lcMakro
...
Рейтинг: 0 / 0
29.09.2004, 03:22
    #32715692
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка чисел.
> Параметр для оператора Like можно и нужно формировать заранее исходя из
> запроса пользователя и затем вставлять в оператор макроподстановкой

Совершенно не обязательно. Тут подойдёт и обычный параметр:

lcStencil = "%подстрока?1?2%"
SELECT ... WHERE cField LIKE ?m.lcStencil

И быстрее и красивее :)

Posted via ActualForum NNTP Server 1.0
...
Рейтинг: 0 / 0
30.09.2004, 08:42
    #32717949
graber
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка чисел.
Всем спасибо !!!
Я сам почти все правильно делал.
А фенька была в синтаксисе (запятых, () и кавычках).
FOX учил МЕЛКИМ правилам грамматики. :))
...
Рейтинг: 0 / 0
30.09.2004, 08:42
    #32717951
graber
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выборка чисел.
Всем спасибо !!!
Я сам почти все правильно делал.
А фенька была в синтаксисе (запятых, () и кавычках).
FOX учил МЕЛКИМ правилам грамматики. :))
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выборка чисел. / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]