Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ошибка "Текущая запись отсутствует"
 
 автор: alkov   (22.02.2012 в 16:52)   личное сообщение
6 Кб.
 
 

С помощью процедур кн_Предмет_Вверх_Click и кн_Предмет_Вниз_Click на форме реализован механизм сортировки записей вручную.
Всё работает для текущего года и класа, но при их изменении, после сортировки предметов вручную с помощью кнопок "Вверх" и "Вниз", появляется сообщение "Текущая запись отсутствует".
Причина скорее всего в закладке.
После изменения года форма обновляется и закладка перестает соответстовать выбраной записи.
Но она после обновления мне уже и не нужна.
Может её как-то убрать до обновления формы в процедуре изменения года?

Но как ?

Вот процедура поднимающая запись вверх

Private Sub кн_Предмет_Вверх_Click()
Dim strSQL1, strSQL2 As String
Dim ID, Class, Num1, Num2 As Long
Dim bmk As Variant
If Me.Form.Recordset.AbsolutePosition = 0 Then Exit Sub
bmk = Me.Form.Bookmark
Class = [Forms]![LessClass]![Code_Class]
ID = [Forms]![LessClass]![ID]
Num1 = [Forms]![LessClass]![Num_Lesson] - 1
Num2 = Num1 + 1
strSQL2 = "UPDATE LessClass SET [Num_Lesson]=" & Num2 & " Where([Num_Lesson]=" & Num1 & " and [Code_Class]=" & Class & ")"
CurrentDb.Execute strSQL2
strSQL1 = "UPDATE LessClass SET [Num_Lesson]=" & Num1 & " Where [ID]=" & ID & ""
CurrentDb.Execute strSQL1
Me.Form.Requery
Me.Form.Bookmark = bmk
Me.Form.Recordset.MovePrevious
End Sub



Тут сама база
http://zalil.ru/32757203

  Ответить  
 
 автор: osmor   (22.02.2012 в 16:58)   личное сообщение
 
 

вместо
Me.Form.Bookmark = bmk
Me.Form.Recordset.MovePrevious 


if not Me.Form.Recordset.BOF then Me.Form.Recordset.MovePrevious

  Ответить  
 
 автор: alkov   (22.02.2012 в 17:23)   личное сообщение
 
 

Заменил две строки на Ваш код - проблема не решилась.

  Ответить  
 
 автор: alkov   (22.02.2012 в 17:58)   личное сообщение
 
 

Ура!!!!!
Проблему решил добавлением

Me.Form.Bookmark = FindFirst

в процедуру изменения года

  Ответить  
 
 автор: alkov   (22.02.2012 в 18:25)   личное сообщение
 
 

Добавил такую же строку в процедуру изменения класса и появляется сообщение
"Недопустимая закладка"

  Ответить  
 
 автор: osmor   (23.02.2012 в 21:35)   личное сообщение
 
 

уберите из кода все что касается
Bookmark
они вам не нужны

  Ответить  
 
 автор: alkov   (24.02.2012 в 10:40)   личное сообщение
 
 


уберите из кода все что касается
Bookmark
они вам не нужны



А как же без них ?

  Ответить  
 
 автор: kot_k_k   (24.02.2012 в 11:31)   личное сообщение
 
 

наблюдается вымирание программеров, не в обиду сказано. грустновастенька, 1с-ники блин

  Ответить  
 
 автор: alkov   (24.02.2012 в 12:55)   личное сообщение
 
 

Я не 1с-ник...

Всем спасибо за помощь!

Добавил в процедуры обработчик ошибок и после обновления в каждой из них
поставил
Me.Recordset.FindFirst "[Num_Lesson] = 1"


Ошибки больше не появляются.

  Ответить  
 
 автор: kot_k_k   (24.02.2012 в 13:14)   личное сообщение
 
 

я не от тебе - вообще о жизни

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList