Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / exe, запись за пределами диапазона / 9 сообщений из 9, страница 1 из 1
31.01.2005, 14:25
    #32892471
help123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
exe, запись за пределами диапазона
Люди помогите...
Откомпилировал проэкт в *.ехе - в одной из форм при добавлении новой записи вылетает ошибка: "Запись находится за пределами допустимого диапазона"..... что делать....
...
Рейтинг: 0 / 0
31.01.2005, 14:28
    #32892486
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
exe, запись за пределами диапазона
Приведи кусок кода, на котором вылетает эта ошибка.
...
Рейтинг: 0 / 0
31.01.2005, 14:31
    #32892502
help123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
exe, запись за пределами диапазона
ВладимирМПриведи кусок кода, на котором вылетает эта ошибка.
PRIVATE fieldcount, v_buyerk, v_receiverk
v_buyerk = buy.buyerk
COUNT FOR receive.buyerk = v_buyerk TO fieldcount
v_receiverk = ALLTRIM (v_buyerk) + ALLTRIM (STR (fieldcount + 1))
SELECT receive
APPEND BLANK IN receive
REPLACE receive.buyerk WITH buy.buyerk
REPLACE receive.receiverk WITH v_receiverk
********************************************************************
GO RECNO() IN BUY
ThisForm.Refresh
...
Рейтинг: 0 / 0
31.01.2005, 14:35
    #32892515
exe, запись за пределами диапазона
из приведенного кода совершенно непонятно какая рабочая область активна
а команды REPLACE лучше делать в активной рабочей области
...
Рейтинг: 0 / 0
31.01.2005, 14:39
    #32892534
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
exe, запись за пределами диапазона
И на какой команде вылетает ошибка?

Я так понял, на

GO RECNO() IN BUY

Так ведь ты определяешь номер записи в таблице receive и пытаешься позиционироватья по этому номеру в таблице BUY. Почему ты уверен, что есть такая запись в таблице BUY?
...
Рейтинг: 0 / 0
31.01.2005, 14:43
    #32892544
lo-pata
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
exe, запись за пределами диапазона
Ты берешь recno() из таблицы receive - не факт, что в таблице BUY есть запись с номером recno('receive'). Если в BUY записей меньше чем recno('receive') - тогда ошибка и должна вылезать. Проверь, куда ты переходишь по GO.
...
Рейтинг: 0 / 0
31.01.2005, 14:46
    #32892552
Crispy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
exe, запись за пределами диапазона
Возможно, это - при обращении к записи с номером > чем есть в таблице с текущим алиасом. Если в программе где-то происходит смена алиасов и ищется запись с большим номером - и уже в другой, меньшей по размеру таблице. Можно попробовать отследить это место с помощью Debugger-а, временно засунув куда-нибудь перед ошибкой: SET STEP ON. Найдя место - переключить там на нужный алиас SELECT-ом.
...
Рейтинг: 0 / 0
31.01.2005, 14:49
    #32892566
help123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
exe, запись за пределами диапазона
Всем спасибо - ошибка связана с COUNT FOR..... она ведь перемещает указатель записи верно....
...
Рейтинг: 0 / 0
31.01.2005, 14:52
    #32892575
exe, запись за пределами диапазона
после команды COUNT... указатель уходит в EOF
и выполнение команды REPLACE receive.buyerk WITH buy.buyerk
неизвестно к чему приведет
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / exe, запись за пределами диапазона / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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