powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Moveprevious
12 сообщений из 12, страница 1 из 1
Moveprevious
    #33918068
linsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Do While Not RecSet1.EOF
RecSet1.Movenext
k = RecSet1.fields(0).Value
RecSet1.Moveprevious
DatConct.Execute " UPDATE RptSheet AS RP Set rP.P1='" + CStr(k) + "' where CStr(RP.P0)='" + CStr(RecSet1.fields(1)) + "'"
Loop
Суть такая, мне надо взять следующее значение и поставть его соответственно к предыдущему. Moveprevious не работает... Помогите, пожалуйста.
...
Рейтинг: 0 / 0
Moveprevious
    #33918074
linsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Do While Not RecSet1.EOF
RecSet1.Movenext
k = RecSet1.fields(0).Value
RecSet1.Moveprevious
DatConct.Execute " UPDATE RptSheet AS RP Set rP.P1='" + CStr(k) + "' where CStr(RP.P0)='" + CStr(RecSet1.fields(1)) + "'"
Loop
Суть такая, мне надо взять следующее значение и поставть его соответственно к предыдущему. Moveprevious не работает... Помогите, пожалуйста.
...
Рейтинг: 0 / 0
Moveprevious
    #33918088
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Именно Moveprevious? Для начала - у вас неправильно написана строка апдейта.
...
Рейтинг: 0 / 0
Moveprevious
    #33918212
linsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Апдейт работает, а вот moveprevious - нет...
...
Рейтинг: 0 / 0
Moveprevious
    #33918320
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
linsaАпдейт работает, а вот moveprevious - нет...
перед loop
впиши
RecSet1.Movenext что хотя б крутить рекордсет
...
Рейтинг: 0 / 0
Moveprevious
    #33918389
linsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TIKOперед loop впиши
RecSet1.Movenext что хотя б крутить рекордсет

До этого места даже не доходит, на moveprevious вылетает...
"Операция недопустима в данном контексте".
...
Рейтинг: 0 / 0
Moveprevious
    #33918404
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
linsa TIKOперед loop впиши
RecSet1.Movenext что хотя б крутить рекордсет

До этого места даже не доходит, на moveprevious вылетает...
"Операция недопустима в данном контексте".
на какую именно строку вылетает ошибка
...
Рейтинг: 0 / 0
Moveprevious
    #33918463
linsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На строке RecSet1.Moveprevious ( Я беру следующее значение из recset1, записываю в к и пытаюсь вернуться на предыдущую запись).
...
Рейтинг: 0 / 0
Moveprevious
    #33918478
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попробуй сделать два рекорсета
по циклу устанавливай переменную для выборки
и введи в другую переменную номер строки .AbsolutePosition
второй рекорсет позицианируй по Move .AbsolutePosition-1
меняй значение по k
ЗЫ
.AbsolutePosition-1 может вывести ошибку при первом проходе по циклу

может сработает
...
Рейтинг: 0 / 0
Moveprevious
    #33918598
linsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TIKOможет сработает
Не сработало :( Теперь выдает ошибку, что перемещение в данном направлении (то есть в обратном) недоступно для набора строк.
...
Рейтинг: 0 / 0
Moveprevious
    #33918644
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как рекордсет открываете (вдруг он ForwardOnly)
и покажите строку подключения (местоположение курсора)

и можно попробовать сделать так :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim Key As String

Key = RecSet1.fields( 1 )
RecSet1.MoveNext

While Not RecSet1.EOF
  DatConct.Execute " UPDATE RptSheet AS RP Set rP.P1='" +  & _  
  CStr(RecSet1.fields( 0 ).Value) + "' where RP.P0='" + Key + "'"
  RecSet1.Movenext
Wend
...
Рейтинг: 0 / 0
Moveprevious
    #33918750
linsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RecSet1.Movenext
Do While Not RecSet1.EOF
Do While Not RecSet3.EOF
k = RecSet1.fields(0).Value
DatConct.Execute " UPDATE RptSheet AS RP Set rP.P1='" + CStr(k) + "' where CStr(RP.P0)='" + CStr(RecSet3.fields(1)) + "'"
RecSet1.Movenext
RecSet3.Movenext
Loop
Loop
Вот так все заработало.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Moveprevious
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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