powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Принадлежность поля интервалу.
5 сообщений из 5, страница 1 из 1
Принадлежность поля интервалу.
    #32758475
paule
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите пожалуйста как облегчить себе жизнь.
Имеется таблица, я делаю запрос по определенному условие.
Условие это равенство поля book определенным значениям.
ну грубо говоря условие следующее:
kart.book=1.or.2.or.3.or.5.or.33.or.34.or. и т.д.

Можно ли к примеру задать один раз массив например bookm или что-нибудь ещё и одним условием проверить равно ли значение поля какому нибудь условию из массива?
...
Рейтинг: 0 / 0
Принадлежность поля интервалу.
    #32758529
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pauleПодскажите пожалуйста как облегчить себе жизнь.
Имеется таблица, я делаю запрос по определенному условие.
Условие это равенство поля book определенным значениям.
ну грубо говоря условие следующее:
kart.book=1.or.2.or.3.or.5.or.33.or.34.or. и т.д.

Можно ли к примеру задать один раз массив например bookm или что-нибудь ещё и одним условием проверить равно ли значение поля какому нибудь условию из массива?
Вообще-то в Фоксе есть функция inlist() (при задании конкретных значений), а есть также функция ascan() осуществляющая поиск в массиве...
Определись, что тебе надо и пользуйся...
...
Рейтинг: 0 / 0
Принадлежность поля интервалу.
    #32758536
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1)

InList(kart.book,1,2,3,4,5)

2)

SELECT * FROM kart WHERE kart.book IN (1,2,3,4,5)

Количество параметров в списке зависит от версии FoxPro. Для VFP6 до 24 значений. В случае превышения, разбивай на несколько списков

(InList(kart.book,1,2,3,4,5,...,23) OR InList(kart.book,24,25,...))

Если есть таблица со списком допустимых значений, то можно так:

SELECT * FROM kart WHERE kart.book IN (SELECT nValue FROM TabList)
...
Рейтинг: 0 / 0
Принадлежность поля интервалу.
    #32758549
paule
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня fox 2.5
функцию ascan() найти в справке не могу :((
inlist() - т.к. значения не постоянно одни и теже придется туда вписывать.
...
Рейтинг: 0 / 0
Принадлежность поля интервалу.
    #32758572
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>функцию ascan() найти в справке не могу :((
" - Ты видишь суслика?
- Нет
- А он есть"
(c) ДМБ

Плохой хелп - должна быть. вот тебе цитата оттуда:

Searches an array for an element containing the same data and data type as an expression.

Syntax

ASCAN(ArrayName, eExpression [, nStartElement [, nElementsSearched]])

Returns

Numeric

Arguments

ArrayName

Specifies the name of the array to search.

eExpression

Specifies the general expression to search for.

nStartElement

Specifies the element number at which the search begins. The element number you specify is included in the search. If you omit nStartElement, the entire array is searched by default.

nElementsSearched

Specifies the number of elements that are searched. If you omit nStartElement and nElementsSearched, the search begins with the first array element and continues to the last array element.

Note You can refer to an element in a two-dimensional variable array in one of two ways. The first method uses two subscripts to specify the row and column position of the element in the array; the other method uses an element number. This function and others that manipulate two-dimensional arrays require element numbers (nStartElement and nElementsSearched). Use AELEMENT( ) to return the element number from row and column subscripts in a two-dimensional array.

Remarks

If a match is found, ASCAN( ) returns the number of the element containing the expression. If a match cannot be found, ASCAN( ) returns 0.

The criteria for a successful match of character data are determined by the setting of SET EXACT. If SET EXACT is ON, an element must match the search expression character for character and have the same length. If SET EXACT is OFF, and an element and search expression match until the end of the expression is reached, the match is successful. For more information on match criteria for character strings, see the string comparison table in the SET EXACT topic.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Принадлежность поля интервалу.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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