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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Принудительная смена текущей записи в форме
 
 автор: KOHCEPBATOP   (09.12.2009 в 16:26)   личное сообщение
 
 

Для удобства перемещения по записям в форме добавил выпадающий список со значением поля ToolTypeDescr в алфавитном порядке. Подразумевается, что при выборе в этом списке нужного элемента, текущей записью в форме должна стать запись, содержащая выбранное значение (уникальное).
В обработчик списка накидал такой код:
    Dim sQuery As String
    Dim dbs As Database
    Dim rst As Recordset
    
    Set dbs = CurrentDb()
    sQuery = "SELECT * FROM ToolTypes WHERE ToolTypes!ToolTypeDescr=""" + ToolTypeDescrList.Value + """"
    Set rst = dbs.OpenRecordset(sQuery)
    If (rst!ToolTypeDescr = ToolTypeDescrList.Value) Then
        DoCmd.GoToRecord acForm, "ToolList", acGoTo, NNNN
    End If
    rst.Close
    dbs.Close



Не понятно что вместо NNNN ставить. В свойствах Recordset не нашел как узнать какой записи соответствует текущая позиция в Recordset .
Или это как то по другому решается?

P.S.
Access 2003

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

Вот что предлагает встроенный мастер добавления поля со списком:

    ' Поиск записи, соответствующей этому элементу управления.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[IDProduct] = " & str(Nz(Me![cmbProducts], 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark

  Ответить  
 
 автор: KOHCEPBATOP   (10.12.2009 в 11:01)   личное сообщение
 
 

Спасибо ! Получилось.

P.S.
т.к. параметр строковый, мое выражение имеет вид:
rs.FindFirst "[ToolTypeDescr] = '" + Nz(Me![ToolTypeDescrList], "") + "'"

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