When working with a dynaset-type or snapshot-type recordset, if you call GetPercentPosition before fully populating the recordset, the amount of movement is relative to the number of records accessed as indicated by calling GetRecordCount.
You can move to the last record by calling MoveLast to complete the population of all recordsets, but this may take a significant amount of time.
You can call GetPercentPosition on all three types of recordset objects, including tables without indexes. However, you cannot call GetPercentPosition on forward-only scrolling snapshots, or on a recordset opened from a pass-through query against an external database. If there is no current record, or he current record has been deleted, a CDaoException is thrown.
For related information, see the topic "PercentPosition Property" in DAO Help.