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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Access 2003
 
 автор: trtanev   (24.10.2010 в 10:13)   личное сообщение
 
 

Здраствуйте!
У меня такой проблем с база данных на Access:
1)Есть форма, каторая показываеть список приборов, у ее подформа у который визуализороватся все даты проверки конкретного прибора!
2) Необходимо при каждом выборе конкретного прибора, указатель записи у подформы застать у последной даты проверки, т. е. на последном записе!
Все эксперименты с вставки кода VBA на Form_pribor и Form_pribor_proverka на разные собития пока не дает резултата!
вставлял вот такие :
Private Sub form_load()
Me.Recordset.MoveLast
End Sub

Private Sub Form_AfterUpdate()
Me![Form_pribor_proverka].Form.Requery
Form_pribor_proverka.Recordset.MoveLast
DoCmd.GoToRecord , , acLast
End Sub
соответно у подформы и главная форма, но в первом случае (Me.Recordset.MoveLast) , дает резултат только на первом записе т.е. при началном загрузке подформой, а потом указател у подформе при выборе следующем запписе(прибора) снова указывает первом записе у подформы!
Шлите у кого есть идеи на trtanev@abv.bg или trusev@neochim.bg !
Пример размещен на www.slil.ru ---> http://zalil.ru/29859380
Заранее спосибо!

  Ответить  
 
 автор: Гоблин   (24.10.2010 в 11:45)   личное сообщение
14 Кб.
 
 

Может я чего не так понял. Ссылка не открывает файл, поэтому свиртуалил свой примерчик. Похоже, что не надо DoCmd.GoToRecord , , acLast. Это типа лишнее.

  Ответить  
 
 автор: snipe   (24.10.2010 в 15:17)   личное сообщение
 
 

взято вот отсюда
http://hiprog.com/index.php?option=com_content&task=view&id=729

Вопрос: Как в подчиненной форме перейти на последнюю запись (GotoRecord не получается) ?

Совет:
1. Фокус должен быть на подчиненной форме. DoCmd.GoToRecord без указания типа и имени объекта.
2. (Процедура в главной форме):
Dim sfrm As Form
Set sfrm = Me![Имя элемента "Подчиненная форма"].Form
With sfrm.RecordsetClone
.MoveLast
if Not .EOF Then sfrm.Bookmark = .Bookmark
End With
Я обычно пользуюсь вторым методом. Первым - только для перехода на новую запись.

  Ответить  
 
 автор: Гоблин   (24.10.2010 в 22:11)   личное сообщение
 
 

Тогда вопрос назревает. В примерчике 2 строки и работает. В каких случаях моя схема даст сбой?

  Ответить  
 
 автор: RomanoSP   (25.10.2010 в 09:52)   личное сообщение
 
 

Вариант просто отсортировать запрос (источник данных) подчиненной формы по убывающей дате?

  Ответить  
 
 автор: trtanev   (25.10.2010 в 13:31)   личное сообщение
 
 

ВСЕ ЭТО БУДЕТЕ ПОНЯТЬ ЕСЛИ СКАЧИТЕ ПРИМЕР ИЗ ссылку http://rfpro.ru/upload/3372
Так что проблем не в том что отбрат какой то из проверок с помощи разных сортировок, разных там индиксов и т.д.,
а ВСЕГДА УКАЗАТЕЛЬ У ПОДФОРМ 'pribor_proverka' УКАЗАЛ ПОСЛЕДНИЙ ЗАПИС , при выбор каком там быть прибор - как отсортированы проверок - без значении

  Ответить  
 
 автор: Анатолий (Киев)   (25.10.2010 в 16:21)   личное сообщение
 
 

Form_pribor_proverka.Recordset.MoveLast - это неправильно, надо:
Me!Form_pribor_proverka.Form.Recordset.MoveLast

Надеюсь, что "Form_pribor_proverka" - имяєлемента-контейнера субформы.

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