Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Объясните дураку / 3 сообщений из 3, страница 1 из 1
06.04.2006, 17:18
    #33649952
Foxuser
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните дураку
Есть таблица в ней поле нумерик 11зн., но числа от 8 до 11 зн. делаю так:
brow all for substr(alltr(str(rkod)),3,3)='440'
вижу 8-10зн. коды а 11зн. не показывает в чем проблема, знатоки?
...
Рейтинг: 0 / 0
06.04.2006, 17:48
    #33650110
zmej74
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните дураку
Для того чтобы понять в чем проблема сделаем маленький эксперимент
var = 1234567890
?str(var)
var = 12345678901
?str(var)
и ты увидишь, что для более чем 10-ти значных чисел STR() представляет эти числа в другом формате. Первое что приходит в голову для решения проблемы так это использовать твою команду так:
brow all for substr(alltr(str(rkod,11)),3,3)='440'
...
Рейтинг: 0 / 0
06.04.2006, 18:07
    #33650172
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объясните дураку
Вообще-то, надо было открыть HELP и почитать описание команды STR(). А там сказано, что если второй параметр не указан явно, то предполагается, что этот параметр равен 10.

Как решить, zmej74 уже написал. Указать в команде STR() второй параметр явно.

Если речь идет о FoxPro не ниже 6 версии, то можно так:

Код: plaintext
BROWSE FOR SUBSTR(TRANSFORM(rkod), 3 , 3 )='440'
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Объясните дураку / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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