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

Форум: MS ACCESS

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

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

 
 

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

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

тема: А 2002 Переход на запись в списке
 
 автор: СкН   (24.09.2007 в 18:29)   личное сообщение
 
 

Помогите, пожалуйста, решить небольшую задачу. Есть начальная форма, в которую записываются начальные сведения о документе. После закрытия этой формы, открывается форма, в которой список этих документов. Как можно выделить (перейти на) только что созданную запись в этом списке, имеющую уникальный код. Список содержит более 5-и полей и более 200 записей. Возможно ли это вообще. Заранее спасибо.

  Ответить  
 
 автор: osmor   (24.09.2007 в 18:42)   личное сообщение
 
 

"открывается форма, в которой список этих документов."
под списком понимается контрол listBox? или просто "список" как некий перечень?
если listbox, то вероятно придется создать recordset c таким же источником как и lisbox найти в нем запись с помощью findfirst (для dao) или Find (для ADO), получить AbsolutePosition найденной записи и выделить эту запись в списке Список.Selected(rst.AbsolutePosition)
только с учетом отображаются заголовки столбцов в listBox или нет. (если отображаются, то AbsolutePosition + 1)

  Ответить  
 
 автор: СкН   (25.09.2007 в 11:51)   личное сообщение
 
 

Список - контрол listBox, заголовки столбцов не отображаются.
Во второй форме сделал кнопку с таким кодом
Private Sub Кнопка_Click()
Dim Позиция As Long
Dim Условие As String
Dim кодДок As Long
кодДок = Me.Поле1 ‘ значение передается из первой формы
Условие = "КодТипаДокумента = 1 Or КодТипаДокумента = 10"
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("Select * From Документ WHERE (" & Условие & ")")
rs.FindFirst "[КодДокумента] =" & КодДок
Позиция = rs.AbsolutePosition
Me.Список0.Selected (rs.AbsolutePosition) ‘ – остановка на этой строке с сообщением
End Sub

Сообщение: - Object doesn’t support this property or method

Может я что не так сделал?

  Ответить  
 
 автор: osmor   (25.09.2007 в 15:32)   личное сообщение
 
 


Me.Список0.setfocus
'Позиция = rs.AbsolutePosition
Me.Список0.Selected (rs.AbsolutePosition) 

  Ответить  
 
 автор: СкН   (25.09.2007 в 16:09)   личное сообщение
 
 

Сейчас останавливаетя на этой же строке с сообщением - Invalid use of property и выделяет .Selected

  Ответить  
 
 автор: osmor   (25.09.2007 в 17:44)   личное сообщение
 
 

блин .... ну да конечно

Me.Список0.Selected(rs.AbsolutePosition) = True

  Ответить  
 
 автор: СкН   (26.09.2007 в 11:16)   личное сообщение
 
 

Ошибки больше нет. Но на заданную запись не переходит. rs.AbsolutePosition определяется правильно и имеет конкретное значение, а Me.Список0.Selected(rs.AbsolutePosition) имеет значение = 0
После того как отправил это сообщение испралил строку Me.Список0.Selected(rs.AbsolutePosition ) = True на
Me.Список0.Selected(rs.AbsolutePosition - 1 + IIf(Me.Список0.ColumnHeads = True, 1, 0)) = True (нашел в Вашем примере "Универсальный поиск" от 2001 года)
и все заработало!!! Но почему то выделяется следующая запись за заданной, поэтому добавил ( -1 ). Олег! Большое Вам спасибо! Надеюсь что проблема решена. Остальное дело техники...

  Ответить  
 
 автор: Doc_i   (25.09.2007 в 12:18)   личное сообщение
 
 

Если запись в списке имеет уникальный код (а именно он, как правило, используется в качестве значения списка после выбора элемента списка), то его надо просто запомнить в глобальную переменную, а при загрузке следующей формы, указать, что ComboBox1 = глобальная переменная.

  Ответить  
 
 автор: СкН   (25.09.2007 в 12:54)   личное сообщение
 
 

А можно о ComboBox1 чуть по подробнее ? Или маленький примерчик ...

  Ответить  
 
 автор: Doc_i   (25.09.2007 в 13:17)   личное сообщение
 
 

Имелось в виду поле со списком или список, в котором нужно выбрать требуемую запись.

  Ответить  
 
 автор: СкН   (25.09.2007 в 14:10)   личное сообщение
 
 

Речь идет не о выборе, а о переходе на эту запись...

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