Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как работает while? / 8 сообщений из 8, страница 1 из 1
24.05.2010, 01:02
    #36644399
Bagerych
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как работает while?
Песец, может я чего не понимаю?
...
Рейтинг: 0 / 0
24.05.2010, 01:02
    #36644401
Bagerych
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как работает while?
...
Рейтинг: 0 / 0
24.05.2010, 10:50
    #36644727
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как работает while?
Bagerych,

и в чем вопрос ?
...
Рейтинг: 0 / 0
24.05.2010, 20:57
    #36646189
Bagerych
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как работает while?
Думал, из картинки понятно, в чем вопрос.
Специально скриншот с сообщением интеллисенс выложил.
Условие while не выполнилось, однако в теле while возникло исключение.
...
Рейтинг: 0 / 0
24.05.2010, 21:48
    #36646262
как работает while?
Bagerych,

из скриншота мало что понятно. Например, не понятно, там второй While или нет, и откуда на него пришло выполнение.
...
Рейтинг: 0 / 0
24.05.2010, 22:44
    #36646319
Bagerych
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как работает while?
Из скриншота понятно, что условие внешнего while не выполнено, однако программа заходит в тело цикла. Это очевидно на скриншоте.
А что там внутри - еще один while или еще что - то - очевидно неважно.

Но раз такие очевидные вещи не понятны, то вот упрощенный код:


Код: plaintext
1.
2.
3.
While Not rec.EOF 'here recordset.EOF = true
        rec.MoveNext 'but here throwing exception
    Wend
...
Рейтинг: 0 / 0
25.05.2010, 00:16
    #36646418
vlth
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как работает while?
BagerychНо раз такие очевидные вещи не понятны, то вот упрощенный код...
Осталось только добавить, что при его выполнении возникает аналогичная ошибка. Или всё-таки нет???

То, что очевидно Вам, нам НЕ очевидно.
Откуда, например, может быть видно, что в коде не использованы разные переменные - rec, rес, reс или rеc? - из скриншота?
Ну это так... для начала...
...
Рейтинг: 0 / 0
25.05.2010, 02:15
    #36646522
как работает while?
BagerychИз скриншота понятно, что условие внешнего while не выполнено, однако программа заходит в тело цикла.Не понятно. Из скриншота не видно, с какого оператора передалось управление на текущий. И каким образом - в ходе выполнения программы, или при выполнении в отладке команды Set Next Statement.BagerychЭто очевидно на скриншоте.Такой скриншот, например, можно получить при выполнении кода вроде (совершенно искусственный пример):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Option Explicit

Private Sub Command1_Click()
 Dim db As DAO.Database
 Dim rec As DAO.Recordset
 Set db = DBEngine.OpenDatabase("C:\Temp\db1.mdb")
 Set rec = db.OpenRecordset("Table1")
 While Not rec.EOF
    While Not rec.EOF: rec.MoveNext: Wend
    rec.MoveNext
 Wend
 rec.Close: Set rec = Nothing
 db.Close: Set db = Nothing
End Sub
BagerychА что там внутри - еще один while или еще что - то - очевидно неважно.Как видно из предудущего примера, важно. Управление на второй While может передаваться не (только) после первого While, и тело вложенного цикла может иметь побочные эффекты для внешнего цикла.

Очевидно , вы употребляете слово "очевидно" неуместно.

BagerychНо раз такие очевидные вещи не понятны, то вот упрощенный код:

Код: plaintext
1.
2.
3.
While Not rec.EOF 'here recordset.EOF = true
        rec.MoveNext 'but here throwing exception
    Wend
Вставьте
Код: plaintext
Debug.Print "rec.EOF = " & rec.EOF
непосредственно после (первого) While, убедитесь в наличии в модуле Option Explicit, закомментируйте все On Error, которые могут повлиять на выполнение. Запустите программу и посмотрите, что выдалось в окно Immediate. А лучше пройдитесь пошагово, и не ориентируйтесь на tooltip-ы, смотрите отладочные окна Locals и Watches.

Молчу про то, что как, какой открыт рекордсет, какая ошибка выдаётся при попытке выполнения rec.MoveNext тоже "очевидно" из скриншота.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как работает while? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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