Поделиться через


Свойство Recordset.PercentPosition (DAO)

Область применения: Access 2013, Office 2013

Задает или возвращает значение, определяющее приблизительное место текущей записи в объекте Recordset на основе процента записей в Recordset.

Синтаксис

expression . PercentPosition

expression: переменная, представляющая объект Recordset.

Примечания

Чтобы указать или изменить приблизительное положение текущей записи в объекте Recordset, можно проверка или задать свойство PercentPosition. При работе с объектом Recordset типа dynaset или snapshot, открытым непосредственно из базовой таблицы, сначала заполните объект Recordset, перейдя к последней записи, прежде чем задать или проверка свойство PercentPosition. Если вы используете свойство PercentPosition перед полным заполнением объекта Recordset , количество перемещения будет относительно количества записей, к которым осуществляется доступ, как указано параметром свойства RecordCount . Перейти к последней записи можно с помощью метода MoveLast .

Примечание.

Использование свойства PercentPosition для перемещения текущей записи в определенную запись в объекте Recordset не рекомендуется. Свойство Bookmark лучше подходит для этой задачи.

После установки для свойства PercentPosition значения запись в приблизительном положении, соответствующем этому значению, становится текущей, а свойство PercentPosition сбрасывается до значения, отражающего приблизительное положение текущей записи. Например, если объект Recordset содержит только пять записей, а для свойства PercentPosition задано значение 77, то значение, возвращаемое свойством PercentPosition , может быть равно 80, а не 77.

Свойство PercentPosition применяется ко всем типам объектов Recordset , за исключением объектов Recordset только прямого типа или объектов Recordset, открытых из сквозных запросов к удаленным базам данных.

Свойство PercentPosition можно использовать с полосой прокрутки в форме или текстовом поле, чтобы указать расположение текущей записи в объекте Recordset .

Пример

В этом примере свойство PercentPosition используется для отображения позиции текущего указателя записи относительно начала набора записей.

    Sub PercentPositionX() 
     
     Dim dbsNorthwind As Database 
     Dim rstProducts As Recordset 
     Dim strFind As String 
     Dim strMessage As String 
     
     Set dbsNorthwind = OpenDatabase("Northwind.mdb") 
     ' PercentPosition only works with dynasets or snapshots. 
     Set rstProducts = dbsNorthwind.OpenRecordset( _ 
     "SELECT ProductName FROM Products " & _ 
     "ORDER BY ProductName", dbOpenSnapshot) 
     
     With rstProducts 
     ' Populate the Recordset. 
     .MoveLast 
     .MoveFirst 
     
     Do While True 
     ' Show current record information and ask user 
     ' for input. 
     strMessage = "Product: " & !ProductName & vbCr & _ 
     "The record pointer is " & _ 
     Format(.PercentPosition, "##0.0") & _ 
     "% from the " & vbCr & _ 
     "beginning of the Recordset." & vbCr & _ 
     "Please enter a character search string " & _ 
     "for a product name." 
     strFind = Trim(InputBox(strMessage)) 
     If strFind = "" Then Exit Do 
     
     ' Try to find a record matching the search string. 
     .FindFirst "ProductName >= '" & strFind & "'" 
     If .NoMatch Then .MoveLast 
     Loop 
     
     .Close 
     End With 
     
     dbsNorthwind.Close 
     
    End Sub