powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите (Почему While r.EOF имеет значение FALSE)
16 сообщений из 16, страница 1 из 1
Помогите (Почему While r.EOF имеет значение FALSE)
    #32344706
molga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim db As New ADODB.Connection
Dim rs As ADODB.Recordset
Dim sSQL, s As String
Dim r As New ADODB.Recordset
Dim cmd As New ADODB.Command
db.Open ("driver={SQL Server};server=SQLSRV;Database=Sale;user=sa;pwd=")
s = "select idflat from tFlat where idObg is not null"
r.Open s, db, adUseClient, adLockOptimistic, adCmdText
kol = Me.Ïîëå3
While r.EOF
cmd.CommandText = "UPDATE dbo_tFlat SET dbo_tFlat.idObj =1 where idFlat=" & kol
cmd.Execute
kol = kol + 1
Wend
db.Close

Почему While r.EOF имеет значение FALSE
в чем проблема
...
Рейтинг: 0 / 0
Помогите (Почему While r.EOF имеет значение FALSE)
    #32344715
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нк потому что в рекордсете есть записи, удовлетворяющие условию "s"
...
Рейтинг: 0 / 0
Помогите (Почему While r.EOF имеет значение FALSE)
    #32344717
molga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть в QA же все правильно работает
...
Рейтинг: 0 / 0
Помогите (Почему While r.EOF имеет значение FALSE)
    #32344726
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть
если записи в рекордсете есть значит RecordSet.EOF = False

в QA же все правильно работает
где, где???
...
Рейтинг: 0 / 0
Помогите (Почему While r.EOF имеет значение FALSE)
    #32344728
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ответ - потому что нету MoveNext.

Но это вообще неправильно, цикл должен идти по kol.
...
Рейтинг: 0 / 0
Помогите (Почему While r.EOF имеет значение FALSE)
    #32344736
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
Do While Not rs.EOF
cmd.CommandText =  "UPDATE dbo_tFlat SET dbo_tFlat.idObj =1  where idFlat=" & kol 
cmd.Execute
kol = kol +  1  
rs.MoveNext
Loop
...
Рейтинг: 0 / 0
Помогите (Почему While r.EOF имеет значение FALSE)
    #32344743
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ВС: а мне кажеться, что цикл необязательно должен идти по kol.

Как я понимаю, kol требуется для того, ятобы узнать потом какое количество записей было UPDATE.

тем более, что kol заранее неизвестно.
...
Рейтинг: 0 / 0
Помогите (Почему While r.EOF имеет значение FALSE)
    #32344746
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Цикл должен идти по kol, а не по рекордсету, потому что внутри цикла нет никаких обращений к рекордсету. Рекордсет тут вообще не нужен, кроме как для определения количества записей.

Или наоборот: убрать kol и убрать команду с обновлением, а менять значения через рекордсет.
...
Рейтинг: 0 / 0
Помогите (Почему While r.EOF имеет значение FALSE)
    #32344748
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
funddd, я писал до того, как прочитал твой пост. Телепатия на марше. :^)
...
Рейтинг: 0 / 0
Помогите (Почему While r.EOF имеет значение FALSE)
    #32344759
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перечитал еще раз. Саныч, я с тобой согласен абсолютно.


А то, что ты знатный телепят, я и так знал.
...
Рейтинг: 0 / 0
Помогите (Почему While r.EOF имеет значение FALSE)
    #32344765
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Бью себя телепяткой в грудь.
...
Рейтинг: 0 / 0
Помогите (Почему While r.EOF имеет значение FALSE)
    #32344776
molga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет все правильно с сыклами просто еще не доделанный запрос а я не знала что While r.EOF имеет значение False когда записи есть
Даже не думала покапать там
Ща попробую
...
Рейтинг: 0 / 0
Помогите (Почему While r.EOF имеет значение FALSE)
    #32344787
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык е-мое!
EOF это что?
End Of File (в данном случае - рекордсет), специальная метка, обозначающая, что позиция на которой ты находишься, не имеет данных, а просто завершает файл (рекордсет).
Если у тебя рекордсет не пустой, значит, ты стоишь на первой записи - а запись-то не есть конец рекордсета!

еще раз повторю Саныча - про movenext не забудь!
...
Рейтинг: 0 / 0
Помогите (Почему While r.EOF имеет значение FALSE)
    #32344806
molga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пасиб огромное
че то протормозила
...
Рейтинг: 0 / 0
Помогите (Почему While r.EOF имеет значение FALSE)
    #32344941
molga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь не выполняется Execute пишет типа что не может выполнить. типа закрыто или не может быть выполнено в данном контексте
...
Рейтинг: 0 / 0
Помогите (Почему While r.EOF имеет значение FALSE)
    #32345283
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так там kol может принимать значения, которых в рекордсете нет! Если в нужном поле есть дырки. И вообще, почему это одной командой не выполнить?
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите (Почему While r.EOF имеет значение FALSE)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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