powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выборка чисел.
7 сообщений из 7, страница 1 из 1
Выборка чисел.
    #32714963
graber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые господа !!!
Помогите не очень опытному в VFP 50.
Есть табличка в ней поле с 13 значным числом вида
X-XXXX-XXXX-XXXX
Есть формочка в ней user набирает "X-123X-XX5X-XXXX"
или "2-XX32-3XXX-67XX" или что-то в этом духе.
Кнопочка <печатать> и в отчет идет выборка, где вместо XXX
идут любые цифры (естественно из имеющихся в таблице записей).
Что FOX не хочет этого делать. Все норовит либо вообще ничего не
выбирать. Либо только по полным совпадениям.
Подскажите (просьба - по подробнее) где и что ему нужно.
Заранее спасибо !!!
...
Рейтинг: 0 / 0
Выборка чисел.
    #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
Выборка чисел.
    #32715013
SergeyPl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select* from t_test where f_name like "%%%-45-%%%"
...
Рейтинг: 0 / 0
Выборка чисел.
    #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
Выборка чисел.
    #32715692
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Параметр для оператора Like можно и нужно формировать заранее исходя из
> запроса пользователя и затем вставлять в оператор макроподстановкой

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

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

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

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


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