|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
Уважаемые форумчане! Помогите пожалуйста решить проблему, которой раньше не было: Конструкция такая: DO WHILE !EOF() ... SKIP ENDDO Так вот стала появляться ошибка: "Данные за пределами допустимого" (или что-то вроде этого). Я знаю, что можно написать обработку с IF EOF(), но это огромная программа, целый АРМ, где сплошь и рядом такие конструкции со SKIP. Можно ли с помощью какой-нибудь настройки Фокса решить эту проблему. Ведь раньше-то все работало! Может быть какую-нибудь SET-ку написать? Буду очень благодарна за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 10:34 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
Возможно индекс попортился. Надо переиндексировать. В такой конструкции Код: sql 1. 2. 3. 4.
не может быть этой ошибки. Если только внутри (в ...) еще раз SKIP не делается. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 10:39 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
В Фоксе есть конструкция Код: vbnet 1. 2. 3.
, которая все это заменяет. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 11:35 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
Dima T, дело в том, что из-под Фокса такой ошибки нет, а из ярлыка есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 11:36 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
Fffffffffffff, сделать дополнительную конструкцию - не проблема, если бы не масштабы исправлений. Непонятно вот что: ЕЩЕ МЕСЯЦ НАЗАД ВСЕ РАБОТАЛО И ТАКОЙ ОШИБКИ НЕ ВОЗНИКАЛО. Вообще АРМу несколько лет и не было проблем. А сейчас вдруг стала на этом месте возникать ошибка "Данные за пределами...". ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 11:40 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
Dima T, если бы попортился индекс, то весь АРМ бы не стал работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 11:41 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
ElenaZaus, может тогда табличку в студию? посмотрим ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 11:43 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
ElenaZausDima T, дело в том, что из-под Фокса такой ошибки нет, а из ярлыка есть. Добивайся повтора ошибки в фоксе. Фокс и "ярлык" один и тот же код выполняют? Одни и те же таблицы используют? Как уже написал: скорее всего дело в испорченных индексах. PS нет таких SET которые подобную ошибку уберут. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 11:44 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
Dima T, а мог ли Фокс попортиться? Например, пропали dll-файлы из Widows... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 12:01 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
ElenaZaus, если бы дллки пропали, то оно бы вообще не запустилось. У вас либо данные запороты, либо индексы. Пальцем в небо: может, антивирь мешает? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 12:06 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
Что вообще ярлык запускает? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 12:14 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
Может в таблицах появились записи помеченные на удаление? Нужно проверить статус SET DELETED, может по этой причине и выдает количество записей одно (вместе с помеченными на удаление), а при выборке оказывается другое. Так же перед выполнением команд DO WHILE, желательно установить указатель записи в начало таблицы командой GO TOP IN WorkAlias ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 12:17 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
Fffffffffffff, в ярлыке прописан тока ехе-файл. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 13:08 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
Dima T, а у вас лично уже была такая проблема? Я почему сомневаюсь в порче индексов, потому что остальная-то часть АРМа работает... Может ли так испортиться индекс, что что-то работает, а что-то не работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 13:11 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
Дед Евгений, в этой таблице удаления не происходит. А GO TOP есть, как и положено. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 13:12 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
ElenaZausDima T, а у вас лично уже была такая проблема? Я почему сомневаюсь в порче индексов, потому что остальная-то часть АРМа работает... Может ли так испортиться индекс, что что-то работает, а что-то не работает? Да - была, да - может так испортится что будет частично работать. Надо решать проблему, а не доказывать что все работало и само-собой перестало. Чудес не бывает. Надо искать причину. Если ошибка выходит на операторе SKIP то смотреть в какой таблице он выполняется, и какой индекс используется (если вообще используется). Дальше тест: Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 13:58 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
Dima T, спасибо за помощь. Я обязательно попробую. А можно еще вопрос? Какой результат можно ожидать от теста? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 14:43 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
ElenaZausDima T, спасибо за помощь. Я обязательно попробую. А можно еще вопрос? Какой результат можно ожидать от теста? Ту же самую ошибку. Ситуацию можно легко смоделировать: взять таблицу, создать индекс, сделать копию индекса (.CDX), удалить одну запись, сделать PACK, вернуть ранее скопированный индекс. Если при открытии не указывается полный путь до файла, то тут еще может быть что используется DBF (или CDX) не из базы, т.е. в путях поиска находится другой одноименный файл. Например в папке где лежит EXE. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 14:56 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
ElenaZaus, Если ошибка вылезет - то нарушена целостность таблицы/индекса. То что остальной АРМ работает - может он не обращается в конец таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 14:58 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
alextashk, всем спасибо. Тема закрыта. Дело оказалось в том, что программа пошла по недоотлаженной ветке. Прошу прощения за беспокойство! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2015, 13:43 |
|
Выход за пределы базы
|
|||
---|---|---|---|
#18+
ElenaZausДело оказалось в том, что программа пошла по недоотлаженной ветке. Вместо Код: sql 1. 2. 3. 4. 5. 6.
лучше использовать Код: sql 1. 2. 3. 4.
это тоже самое, только EndScan эквивалентен Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2015, 14:48 |
|
|
start [/forum/topic.php?fid=41&msg=38951835&tid=1582374]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 170ms |
0 / 0 |