Recordset Object | (Versions 2.0, 2.1, 2.5, 2.6) |
The Recordset object represents a complete group of rows within a table or a group of records that have been returned from an executed command. |
Recordset.AbsolutePage Property | (Versions 2.0, 2.1, 2.5, 2.6) |
absolutepage = recordset.AbsolutePage | |
The AbsolutePage property returns or sets a value that indicates the current page in the recordset. |
|
Datatype | |
Long |
|
Description | |
By setting the AbsolutePage property, you are instructing ADO to move the record pointer to the first record within the page that you specified. The AbsolutePage property can be set from 1 to the number returned by the PageCount property, which is the total number of logical pages. The size of each page is determined by the PageSize property. By reading the AbsolutePage property, you can determine in which logical page the record pointer is located. The AbsolutePage property can return a Long value indicating the current page or a PositionEnum value. If when reading the AbsolutePage property, the record pointer is pointing to the BOF marker, then the value adPosBOF (-2) is returned. If the record pointer is at the EOF marker, then the adPosEOF (-3) value is returned. If the recordset is empty, if the record pointer's position is unknown or if the data provider does not support the AbsolutePage property, then the value adPosUnknown (-1) is returned. The AbsolutePage property is 1-based, meaning that a value of 1 indicates the first page in the recordset. |
|
Note | |
Not all providers support the AbsolutePage property. |
|
See Also | |
CursorOptionEnum Enumeration, PositionEnum Enumeration, Recordset.Count Property, Recordset.Filter Property, Recordset.PageSize Property, Recordset.Supports Method |
|
Recordset.AbsolutePosition Property | (Versions 2.0, 2.1, 2.5, 2.6) |
absoluteposition = recordset.AbsolutePosition | |
The AbsolutePosition property returns or sets a value that indicates the current record position within the recordset. |
|
Datatype | |
Long |
|
Description | |
By setting the AbsolutePosition property, you are instructing ADO to move to the record with the ordinal position that you specified. The AbsolutePosition property can be set from 1 to the number returned by the RecordCount property, which is the total number of records in the recordset. When you set the AbsolutePosition property, ADO reloads the cache with a new set of records, the first one of which is the record that you specify. The number of records that are loaded in the cache is determined by the CacheSize property. By reading the AbsolutePosition property, you can determine at which ordinal position the record pointer is located by the Long or the PositionEnum value. If, when reading the AbsolutePosition property, the record pointer is pointing to the BOF marker, then the value adPosBOF (-2) is returned. If the record pointer is at the EOF marker, then the adPosEOF (-3) value is returned. If the recordset is empty, if the record pointer's position is unknown, or if the data provider does not support the AbsolutePosition property, then the value adPosUnknown (-1) is returned. It is important to note that the AbsolutePosition can change in the event that a previous record is deleted or even if the recordset is required. I recommend using bookmarks to keep track of records by position. The AbsolutePosition property is 1-based, meaning that the value 1 indicates the first record in the recordset. |
|
Note | |
Not all providers support the AbsolutePosition property. |
|
See Also | |
CursorOptionEnum Enumeration, PositionEnum Enumeration, Recordset.CacheSize Property, Recordset.RecordCount Property, Recordset.Supports Method |
|
Recordset.ActiveCommand Property | (Versions 2.0, 2.1, 2.5, 2.6) |
activecommand = recordset.ActiveCommand | |
The ActiveCommand property returns the Command object that was used to populate a Recordset object. |
|
Datatype | |
Variant (containing a Command object) |
|
Description | |
The read-only ActiveCommand property is used to return the Command object that was used to populate a Recordset object. If a Command object was not used to populate a Recordset object, a reference to a Null object is returned. |
|
Recordset.ActiveConnection Property | (Versions 2.0, 2.1, 2.5, 2.6) |
Set recordset.ActiveConnection = connection recordset.ActiveConnection = connenctionstring | |
The ActiveConnection property specifies the Connection object for the current Recordset object. |
|
Datatype | |
String or a Variant (containing the current Connection object) |
|
Description | |
The ActiveConnection property can be read to return either a String or a reference to a Connection object. The ActiveConnection property cannot be read if the Recordset object is open or if the Recordset object was created with a Command object (its Source property set to a Command object). At any other time, the ActiveConnection property can be set to either a String or a reference to a Connection object. If a String value is used, then it should be a valid connection string that could be passed to the ConnectionString property of a Connection object. You must set the ActiveConnection property before you attempt to open a Recordset object. Before it is set, the default value for the ActiveConnection property is a Null object reference. If you specify the ActiveConnection as a parameter to the Open method of the Recordset object, the ActiveConnection property will access the same value. If you opened a Recordset object with a Command object as the Source property value, the Recordset object's ActiveConnection property will access the Command object's ActiveConnection property value. |
|
See Also | |
Conection.ConnectionString Property, Recordset.Open Method, Recordset.Source Property |
|
Recordset.AddNew Method | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.AddNew Fields, Values | |
The AddNew method creates a new record within the current Recordset object that is set to the value that you specify. |
|
Arguments | |
|
|
Description | |
The AddNew method is a member method of the Recordset object. Its purpose is to add a new record to the recordset specified by the Recordset object. With the AddNew method, you may choose to include either a single field name and initialization value or a list of fields, in the form of a Variant array, along with a corresponding Variant array of values, which match these fields. After calling the AddNew method, you can call either the Update method or the AddNew method again to add the current record to the Recordset object. If you call the AddNew method before calling the Update method, then ADO automatically calls the Update method and proceeds with the AddNew method call. Simply adding the record to the Recordset object does not guarantee that your new record is in your data source. This case depends on the updating mode of your Recordset object. If the Recordset object is set for immediate update mode and you do not include parameters with the AddNew call, then your changes are made immediately after the following Update or AddNew method call. If you call AddNew with parameters, the values are cached locally until the next Update is called. During the period between the AddNew and Update method calls, the EditMode property is set to adEditAdd and is not reset to adEditNone until the update is completed, either by calling the Update method or AddNew once again. If the Recordset object is set for batch update mode, your changes are made only when the UpdateBatch method of the Recordset object is called. In this mode, the changes are cached locally if the AddNew method does not include parameters. This also sets the EditMode property to adEditAdd. The changes are sent to the provider -- but still not posted to the data source -- when the Update method is called, in turn setting the EditMode property to adEditNone. On the other hand, if you call the AddNew method with parameters, the changes are immediately sent to the provider to be posted with the next UpdateBatch method call. If your Recordset object supports bookmarks, your new record will be added to the end of your recordset and can be accessed at any time. If your Recordset object does not support bookmarks, there is a good chance that you may not be able to access the record once you move away from it, so never rely on it being there. Instead, use the Requery method of the Recordset object to enable your application to find the field. |
|
See Also | |
EditModeEnum Enumeration, Recordset.EditMode Property, Recordset.Requery Method, Recordset.Update Method, Recordset.UpdateBatch Method |
|
Recordset.BOF Property/Recordset.EOF Property | (Versions 2.0, 2.1, 2.5, 2.6) |
Boolean = recordset.BOF Boolean = recordset.EOF | |
The BOF property indicates that the record pointer is located before the first record in the recordset. The EOF property indicates that the record pointer is located directly after the last record in the recordset. |
|
Datatype | |
Boolean |
|
Description | |
The BOF and EOF properties are both read-only. If both the BOF and EOF properties are True, then the current recordset is empty. Using any Move method (Move, MovePrevious, MoveFirst, MoveNext, or MovePrevious) generates an error. If both the BOF and EOF properties are False, then the record pointer can be pointing to any record within the recordset. If this is the case, you can use any of the Move methods without generating an error. If the BOF property is True and the EOF property is False, then the record pointer is pointing to the position directly before the first record within the recordset. When this happens, you cannot use the MovePrevious method or the Move method with a negative number without generating an error. If the EOF property is True and the BOF property is False, then the record pointer is pointing to the position directly after the last record within the recordset. When this happens, you cannot use the MoveFirst method or the Move method with a positive number without generating an error. If you delete the last record in the recordset, the BOF and EOF properties will remain set to False until you move the record pointer. If either a call to MoveFirst or a call to MoveLast results in not being able to find a record, both the EOF and BOF properties will be set to True. If MovePrevious or Move -- with a value of less than zero -- cannot find a record, the BOF property is set to True. If MoveNext or Move -- with a value of greater than zero -- cannot find a record, the EOF property is set to True. |
|
See Also | |
Recordset.Move Method, Recordset.MoveFirst Method, Recordset.MoveLast Method, Recordset.MoveNext Method, Recordset.MovePrevious Method, Recordset.Open Method |
|
Recordset.Bookmark Property | (Versions 2.0, 2.1, 2.5, 2.6) |
bookmark = recordset.Bookmark | |
The Bookmark property returns a unique identifier for the current record within a recordset. By setting the Bookmark property to a previously read value, the record pointer can be repositioned to the original record. |
|
Datatype | |
Variant |
|
Description | |
The Bookmark property is available only through recordsets that support bookmarks. Bookmarks are used to record the position of the current record and later to set the current record back to the specified bookmark. Bookmarks can be used interchangeably within Recordset objects that are clones of each other, but not with other Recordset objects, even if they were created from the same source. The return value of the Bookmark property is not readable and shouldn't be used in comparisons because two bookmarks of the same record may not be the same. |
|
Note | |
Not all recordsets support the Bookmark property. |
|
See Also | |
CursorOptionEnum Enumeration, Recordset.Supports Method |
|
Recordset.CacheSize Property | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.CacheSize = cachesize | |
The CacheSize property indicates the number or records that are cached by ADO locally in system memory. |
|
Datatype | |
Long |
|
Description | |
The CacheSize property sets or reads the number of records that are kept in local memory at one time by ADO. The value of CacheSize must be at least 1, otherwise an error will occur. The default value of the CacheSize property is 1. When a recordset is first opened, the number of records specified by the CacheSize property is gathered. After the record pointer moves beyond this number, another set of records is returned, the first being the next record in the recordset. If fewer records are available, the CacheSize requests only those records that are gathered. The CacheSize property can be changed throughout the life of a recordset; however, the number of records retrieved into the cache does not change until the record pointer is moved outside the current cache. The values within the cache do not reflect changes made by other users. To accomplish this, use the Resync method. |
|
See Also | |
Recordset.Resync Method |
|
Recordset.Cancel Method | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.Cancel | |
The Cancel method cancels an asynchronous operation for the Recordset object. |
|
Description | |
The Cancel method can be called to cancel an asynchronous operation of the Recordset object invoked by the Open method. |
|
See Also | |
Recordset.Open Method |
|
Recordset.CancelBatch Method | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.CancelBatch AffectRecords | |
The CancelBatch method cancels the currently pending batch update for the current Recordset object. |
|
Arguments | |
|
|
Description | |
With the CancelBatch method, you can cancel any or all pending updates in the current Recordset object from batch update mode; however, in immediate update mode, calling this method will generate an error. The CancelUpdate method is called when the CancelBatch method is called, thus removing any updates or new records that were added within the batch. For this reason, the current record position may be invalid, and it is suggested that you move to a reliable record position, either by a valid bookmark or by using a method such as MoveFirst. If a runtime error occurs during the call to the CancelBatch method, then there are conflicts with all of the records that were requested from the current recordset. In addition, if only one or a few records are in conflict, then the Errors collection is populated, but a runtime error does not occur. |
|
Note | |
Not all providers support the CancelBatch property. |
|
See Also | |
CursorOptionEnum Enumeration, Recordset.CancelUpdate Method, Recordset.Filter Property, AffectEnum Enumeration, Recordset.Supports Method |
|
Recordset.CancelUpdate Method | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.CancelUpdate | |
The CancelUpdate method cancels any changes to the current batch update made since the last AddNew or Update method calls. |
|
Description | |
The CancelUpdate method of the Recordset object cancels any changes that were made to a record since a call to the Update method of that Recordset. In addition, the CancelUpdate method cancels the creation of a new record by the AddNew method. The CancelUpdate method must be called before the Update method for the current record. The only other way to cancel the changes to a record is by using transaction management through the BeginTrans and RollbackTrans methods of the Recordset object. |
|
See Also | |
Recordset.AddNew Method, Recordset.Update Method |
|
Recordset.Clone Method | (Versions 2.0, 2.1, 2.5, 2.6) |
Set cloned_recordset = original_recordset.Clone | |
The Clone method of the Recordset object returns a clone of the current Recordset. |
|
Returns | |
Recordset object |
|
Description | |
The Clone method of the Recordset object creates an exact multiple copy of the original Recordset object. Use this method when you want to access more than one record at a time within the same recordset. This is more efficient than creating another new Recordset object for the same recordset. When a clone is created, the clone's record position will be set to the first record in the recordset. Only recordsets that support bookmarks can be cloned. Bookmarks from one recordset are valid for clones of that recordset, and vice versa. Closing a clone does not close the original recordset, and vice versa. |
|
See Also | |
LockTypeEnum Enumeration |
|
Recordset.Close Method | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.Close | |
The Close method closes a Recordset object. |
|
Description | |
The Close method closes either a Connection or a Recordset object. When you invoke this method on either object, all dependant objects of your connection or recordset are also closed. You would use the Close method to free system resources although the resource still remains in memory. After closing a Connection or Recordset object, you can still open it again. To completely remove the object from memory, set it to Nothing. When calling the Close method of the Connection object, all associated Recordset objects will be closed, but the associated Command object will persist, thus setting the ActiveConnection property to Nothing and clearning the Parameters collection of the Command object. You can still use the Open method to connect to a data source. If you close a Connection object that has any associated open Recordset objects, any pending changes of the Recordset objects will be rolled back. By calling the Close method of the Connection object while a transaction is in progress, you generate an error. If a Connection object falls out of scope while a transaction is in progress, the transaction is automatically rolled back. When you use the Close method on the Recordset object, that object releases any exclusive access you may have to the data and releases any associated data. You can still use the Open method of that Recordset object later, after the Close method. If your data source is in immediate update mode and the Close method is called while editing, an error occurs. To avoid this error, call either the Update method or the CancelUpdate method. If you are in batch update mode, the data since the last UpdateBatch will be lost. If you have cloned a Recordset object whose Close method you called, the cloned Recordset object will not be closed, and vice versa. |
|
See Also | |
Recordset.ActiveConnection Property, Recordset.CancelUpdate Method, Recordset.Open Method, Recordset.Update Method |
|
Recordset.CompareBookmarks Method | (Versions 2.0, 2.1, 2.5, 2.6) |
result = recordset.CopmareBookmarks (Bookmark1, Bookmark2) | |
The CompareBookmarks method determines the position of two bookmarks in a recordset relative to one another. |
|
Arguments | |
|
|
Returns | |
CompareEnum |
|
Description | |
The CompareBookmark method returns a value that indicates which of the two passed bookmarks come first in ordinal position. Bookmarks are unique to rows within the same Recordset and clones of a Recordset object. Comparing bookmarks from two different Recordsets (not created by cloning another) will not return reliable results. Obtain the current row's bookmark by reading the Bookmark property. |
|
See Also | |
CompareEnum Enumeration, Recordset.Bookmark Property, Recordset.Clone Method |
|
Recordset.CursorLocation Property | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.CursorLocation = cursorlocation | |
The CursorLocation property indicates the location of the cursor service. |
|
Datatype | |
CursorLocationEnum (Long) |
|
Description | |
The value of the CursorLocation property can be set to one of the valid CursorLocationEnum values listed in Appendix E. The value of the CursorLocation property is read- and write-enabled for closed Recordset objects and read-only for open Recordset objects. A recordset returned from an Execute method inherits the value for the CursorLocation from the original object. Recordset objects automatically inherit this value from the Connection object that established it. |
|
See Also | |
Command.Object Method, Connection.Execute Method, CursorLocationEnum Enumeration, Recordset.Open Method |
|
Recordset.CursorType Property | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.CursorLocation = cursorlocation | |
The CursorType property indicates the type of cursor to be used for the current recordset. |
|
Datatype | |
CursorTypeEnum (Long) |
|
Description | |
The CursorType property indicates the type of cursor that should be used when the Recordset object is opened. The value of this property is read- and write-enabled when the Recordset object is closed and read-only when it is opened. The value of the CursorType property can be one of the CursorType enumerations listed in Appendix E. If the current data provider does not support the selected cursor type, the value of the CursorType property changes when the Recordset object is opened. This value can be read by the application if need be. In this case, once the Recordset object is closed, the original selected value will be returned to the CursorType property. You can use the Supports method of the Recordset object to see what functionality is supported by the chosen cursor type. (See Chapter 5 for more information on cursor types.) The Dynamic cursor supports the adMovePrevious functionality as described by the Supports method. The Forward Only cursor does not support any of the functionality that the Supports method indicates. The Keyset cursor and the Static cursor support adBookmark, adHoldRecords, adMovePrevious, and adResync functionality as described by the Supports method. The Forward Only cursor type does not support bookmarks, because you do not have the functionality to move back to a bookmarked record. The Keyset and Static cursor records support bookmarks through ADO, and the Dynamic cursor supports bookmarks through the data provider (if it supports them). |
|
Note | |
If the CursorLocation property has been set to adUseClient, only the adOpenStatic CursorType value can be used. |
|
See Also | |
Connection.CursorLocation Property, CursorTypeEnum Enumeration, Recordset.CursorLocation Property, Recordset.Open Method, Recordset.Supports Method |
|
Recordset.DataMember Property | RDM Property(Versions 2.0, 2.1, 2.5, 2.6) |
recordset.DataMember = datamember recordset.DataSource = datasource | |
The DataMember property indicates the object, within the data source specified by the Data Source property, that the Recordset object should be created with. |
|
Datatype | |
|
|
Description | |
The DataMember and DataSource properties are always used together. The DataSource property indicates the data source in which the object specified by DataMember resides. The DataMember property indicates which object within the data source should be used to create the Recordset object. The Recordset must be closed when the DataMember property is being set. In addition, an error will be raised if the DataSource property is set before the DataMember property. |
|
Recordset.Delete Method | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.Delete AffectRecords | |
The Delete method deletes specified records within the recordset. |
|
Arguments | |
|
|
Description | |
The Delete method removes a record or a group of records when used with the Recordset object. The Delete method removes a specified Parameter object from the Parameters collection when used with it. When using the Delete method with the Recordset object, records that are to be deleted are actually marked for deletion. If the particular recordset does not allow deletion, an error occurs. In immediate update mode, the deletion occurs immediately. However, in batch update mode, the records are marked deleted and are cached until the UpdateBatch method is called. You can view the deleted records by using the Filter property. After you delete a record, the current record position is still on that record. Once you move from that record position, the records are no longer accessible, and attempting to read a deleted record results in an error. If you are using transaction management with BeginTrans, you can cancel the deletion of records with the RollbackTrans method. In addition, in batch update mode, you can cancel deletion by using the CancelBatch method. If you attempt to delete a record that has already been deleted by another user, a runtime error does not occur; instead, the Errors collection is populated with warnings. A runtime error occurs only if all of the requested records to be deleted have a conflict for some reason. You can use the Filter property with the adFilterAffectedRecords value and the Status property to locate any records with conflicts. The Delete method is valid only for the Parameters collection of the Command object. Specify the name of the parameter to be deleted from the collection in the form of a String. |
|
Note | |
Not all providers support the Delete method. |
|
See Also | |
AffectEnum Enumeration, Connection.RollbackTrans Method, CursorOptionEnum Enumeration, Recordset.CancelBatch Method, Recordset.Filter Property, Recordset.Status Property, Recordset.Supports Method |
|
Recordset.EditMode Property | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.EditMode = editmode | |
The EditMode property indicates the current editing status for a given record. |
|
Datatype | |
EditModeEnum (Long) |
|
Description | |
Use the EditMode property to determine whether the current record is being edited when an editing process has been interrupted. With this information, you can determine whether you need to call the Update method or the CancelUpdate method. The value of the EditMode property can be one of the EditModeEnum enumerations listed in Appendix E. |
|
See Also | |
EditModeEnum Enumeration, Recordset.AddNew Method, Recordset.CancelUpdate Method, Recordset.Update Method |
|
Recordset.EndOfRecordset Event | (Versions 2.0, 2.1, 2.5, 2.6) |
EndOfRecordset(fMoreData As Boolean, _ adStatus As ADODB.EventStatusEnum, _ ByVal pRecordset As ADODB.Recordset) | |
The EndOfRecordset event is called when an attempt to move the record pointer past the end of the recordset has occurred. |
|
Arguments | |
|
|
See Also | |
EventStatusEnum Enumeration, Recordset.MoveNext Method |
|
Recordset.EOF Property | (Versions 2.0, 2.1, 2.5, 2.6) |
See Recordset.BOF Property. |
Recordset.FetchComplete Event | (Versions 2.0, 2.1, 2.5, 2.6) |
FetchComplete(ByVal pError As ADODB.Error, _ adStatus As ADODB.EventStatusEnum, _ ByVal pRecordset As ADODB.Recordset) | |
The FetchComplete event is called when a long asynchronous operation (fetch) has completed and all of the records have been returned. |
|
Arguments | |
|
|
See Also | |
EventStatusEnum Enumeration |
|
Recordset.FetchProgress Event | (Versions 2.0, 2.1, 2.5, 2.6) |
FetchProgress(ByVal Progress As Long, _ ByVal MaxProgress As Long, _ adStatus As ADODB.EventStatusEnum, _ ByVal pRecordset As ADODB.Recordset) | |
The FetchProgress event is called during a long asynchronous operation (fetch) to report the progress of the fetch. |
|
Arguments | |
|
|
See Also | |
EventStatusEnum Enumeration, Recordset.FetchProgress Event |
|
Recordset.FieldChangeComplete Event | (Versions 2.5, 2.6) |
FieldChangeComplete(ByVal cFields As Long, _ ByVal Fields As Variant, _ ByVal pError As ADODB.Error, _ adStatus As ADODB.EventStatusEnum, _ ByVal pRecordset As ADODB.Recordset) | |
The FetchChangeComplete event is called after an operation changes one or more Field object values. |
|
Arguments | |
|
|
See Also | |
EventStatusEnum Enumeration, Recordset.WillChangeField Event, Recordset.Value, Recordset.Update |
|
Recordset.Fields Collection | (Versions 2.0, 2.1, 2.5, 2.6) |
record.Fields | |
The Field collection contains multiple Field objects for the current Recordset object, one for each column in the Recordset object. |
|
Datatype | |
Fields (Collection object) |
|
Description | |
The Fields collection of a Recordset object can be populated before opening a Recordset object by calling the Refresh method of the Fields collection. Field objects can be added to the collection either by calling the Field.Append method or by referencing by name a Field object that is not already part of the collection. Calling the Field.Update method will add the field to the collection, if possible, within the data source. Until this moment, the Field.Status property will return adFieldPendingInsert. |
|
See Also | |
Field.Append Method, Field.Refresh Method, Field.Update Method |
|
Recordset.Filter Property | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.CancelBatch AffectRecords | |
The Filter property filters a selection of records within the current Recordset object. |
|
Datatype | |
Variant |
|
Description | |
When you set the Filter property, the cursor type is changed to the current filtered recordset. In this case, the AbsolutePosition, AbsolutePage, RecordCount, and PageCount properties are affected, since the current record is changed to the first record that meets the requirements dictated by the Filter property. The Filter property can have one of three types of values:
Clauses are similar to WHERE clauses in SQL statements. They consist of a field name, an operator, and a value. Multiple clauses can be grouped and joined together with the AND and OR keywords. The field name in a clause has to be a valid field name within the current recordset and if it contains spaces, it has to be placed in brackets ([First Name]). The operator within a clause can be any of the following: <, >, <=, >=, <>, =, or LIKE. The value within a clause is similar to the data within the field specified. Numbers can use decimal points, dollar signs, and scientific notation. Dates are surrounded by pound signs (#) (#06/20/1973#) and strings are surrounded by single quotes ('Jason T. Roff'). If you are using the LIKE keyword as an operator, only the asterisk (*) and percent sign (%) can be used as wildcards, as long as one of the two is at the end of the value (Jason* or *as*). When setting the Filter property to an array of bookmarks, the bookmarks must be unique -- pointing to different records -- within the associated recordset. When setting the Filter to a FilterGroupEnum enumeration value, choose from one of the constants listed in Table E-25. The Filter property can fail because of a record that has been deleted by another user. In this case, a runtime error does not occur. Instead, the Errors collection is populated with warnings. A runtime error occurs only if all of the requested records to be filtered have a conflict for some reason. You can use the Status property to locate any records with conflicts. |
|
See Also | |
AffectEnum Enumeration, FilterGroupEnum Enumeration, Recordset.AbsolutePage Property, Recordset.AbsolutePosition Property, Recordset.CancelBatch Method, Recordset.Delete Property, Recordset.PageCount Property, Recordset.RecordCount Property, Recordset.Resync Method, Recordset.UpdateBatch Method |
|
Recordset.Find Method | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.Find (Criteria, SkipRows, SearchDirections, Start) | |
The Find method moves the record pointer to a row within the current recordset that matches the single-column search criteria specified. |
|
Arguments | |
|
|
Description | |
If a current record is not set prior to calling the Find method, an error will occur. It is good practice to call the MoveFirst method prior to the Find method. The Find method works only with single-column search critierias. Not all providers support Bookmarks and, therefore, cannot search backwards. Use the Supports method to determine whether your current data provider can support the Find operation that you want to use. |
|
See Also | |
CursorOptionEnum Enumeration, Recordset.MoveFirst Method, Recordset.Supports Method, SearchDirectionEnum Enumeration |
|
Recordset.GetRows Method | (Versions 2.0, 2.1, 2.5, 2.6) |
Set record_array = recordset.GetRows(Rows, Start, Fields) | |
The GetRows method of the Recordset object returns multiple records from an open Recordset object in the form of an array. |
|
Arguments | |
|
|
Returns | |
|
|
Description | |
The GetRows method of the Recordset object returns multiple records from the same Recordset object into a two-dimensional array. The records are returned in the form of a Variant array that is automatically dimensioned by ADO. The first subscript is the field; the second is the record number. The data returned is read-only. You can specify the number of records to be returned through the first argument. If this value is larger than the number of records, only the remaining records are returned. If the selected Recordset object supports bookmarks, you can specify the starting location by passing the value of the record's Bookmark property. After the call to GetRows, the record pointer is set to the next unread record, unless there is no more records, in which case the EOF property is set to True. The last argument, Fields, can represent a single field or a group of fields to be returned by the GetRows method. This is done with a field name, a field-ordinal position, an array of field names, or an array of field-ordinal positions. |
|
Note | |
Not all providers support the Find method. |
|
See Also | |
BookmarkEnum Enumeration, CursorOptionEnum Enumeration, GetRowsOptionEnum Enumeration, Recordset.Bookmark Property, Recordset.EOF Property, Recordset.Supports Method |
|
Recordset.GetString Method | (Versions 2.0, 2.1, 2.5, 2.6) |
Set Variant = recordset.GetString(StringFormat, NumRows, ColumnDelimiter, _ RowDelimiter, NullExpr) | |
The GetString method returns the entire Recordset object as a String value. |
|
Arguments | |
|
|
Returns | |
Variant |
|
Description | |
The GetString method converts the contents of the Recordset object to a String value. |
|
See Also | |
StringFormatEnum Enumeration |
|
Recordset.Index Property | (Versions 2.1, 2.5, 2.6) |
recordset.Index = index | |
The Index property sets the current index for a given recordset. |
|
Datatype | |
String |
|
Description | |
The Index property is both read- and write-enabled. However, it cannot be set within a WillRecordsetChange or RecordsetChangeComplete event or during an asynchronous execution. The Index property is used in conjunction with the Seek method to take advantage of the underlying table's indexed structure (as compared to the Find method, which operates sequentially). The position of the record pointer may change when the Index is set (changing the AbsolutePosition property value). In addition, the following events occur: WillRecordsetChange, RecordsetChangeComplete, WillMove, and MoveComplete. If the LockType property is set to adLockPessimistic or adLockOptimistic, then the UpdateBatch method is called releasing any filter that may be applied. In addition, the record pointer is moved to the first record in the indexed recordset. |
|
Note | |
Not all providers support indexes; therefore, they do not all support the Index property. |
|
See Also | |
CursorOptionEnum Enumeration, Recordset.MoveComplete Event, Recordset.RecordsetChangeComplete Event, Recordset.Seek Method, Recordset.UpdateBatch Method, Recordset.WillMove Event, Recordset.WillRecordsetChange Event, Recordset.Supports Method |
|
Recordset.LockType Property | (Versions 2.0, 2.1, 2.5, 2.6) |
locktype = recordset.LockType | |
The LockType property indicates the type of locks that are set on records when they are being edited. |
|
Datatype | |
LockTypeEnum (Long) |
|
Description | |
The LockType property is read- and write-enabled when the Recordset object is closed, but read-only once it is opened. The LockType property may be any one of the values in Table E-29. |
|
Note | |
Not all data providers support every type of record locking. In this case, the data provider may automatically select a different type of lock type. Check the available functionality of a data provider with the Supports property. |
|
See Also | |
LockTypeEnum Enumeration, Recordset.Open Method, Recordset.Supports Method, Recordset.Update Method |
|
Recordset.MarshalOptions Property | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.MarshalOptions = marshaloptions | |
The MarshalOptions property indicates which records are to be marshaled back to the server. |
|
Datatype | |
MarshalOptionsEnum (Long) |
|
Description | |
The MarshalOptions property can be one of the MarshalOptionsEnum enumeration values listed in Appendix E. |
|
See Also | |
MarshalOptionsEnum Enumeration |
|
Recordset.MaxRecords Property | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.MaxRecords = maxrecords | |
The MaxRecords property indicates the maximum number of records to be returned to a recordset from a query. |
|
Datatype | |
Long |
|
Description | |
The MaxRecords property is read- and write-enabled when the Recordset object is open, but read-only when it is closed. A value of 0 (default) indicates that all of the valid records will be returned from a query. |
|
Recordset.Move Method | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.Move NumRecords, Start | |
The Move method of the Recordset object moves the position of the record pointer within the specified Recordset object. |
|
Arguments | |
|
|
Description | |
The Move method of the Recordset object moves the record pointer a specified number of records. If the NumRecords argument is less than zero, the pointer is moved forward the desired number. If the NumRecords argument is greater than zero, the record pointer is moved forward the desired number of records. If the current Recordset object supports bookmarks, then you can indicate a beginning position to start moving from with the Start argument. The Start argument should be set to a valid bookmark within the current Recordset object, and the record pointer will be moved the desired number of records from that point. If no bookmark is used, the record pointer will move from the current record. Attempting to move to a point before the first record will result in moving to the record before the first record, which is a BOF. Attempting to move past the last record will result in the record pointer moving to the record after the last record, which is the EOF. In either case, if the Move method is used to attempt to move past the BOF or EOF, an error is generated. If the CacheSize property is set to cache records locally from the data provider and you pass a NumRecords that ventures outside of the cache, ADO is forced to retrieve a new group of records from the data provider. The number of records received is dependent upon the CacheSize property. This also happens if you are using a local cache and use the Start argument. The first record to be received, in this case, would be the desired destination record. Even if the Recordset object is forward-only, you can still pass a NumRecords value that is less than zero, as long as the destination record is within the current cache. If it is before the current cache, an error is generated. |
|
Note | |
Not all providers support the Move method. |
|
See Also | |
BookmarkEnum Enumeration, Recordset.Bookmark Property, Recordset.CacheSize Property |
|
Recordset.MoveComplete Event | (Versions 2.0, 2.1, 2.5, 2.6) |
MoveComplete(ByVal adReason As ADODB.EventReasonEnum, _ ByVal pError As ADODB.Error, _ adStatus As ADODB.EventStatusEnum, _ ByVal pRecordset As ADODB.Recordset) | |
The MoveComplete event is called after an operation changes the position of the record pointer within the Recordset object. |
|
Arguments | |
|
|
See Also | |
EventReasonEnum Enumeration, EventStatusEnum Enumeration, Recordset.AbsolutePage Property, Recordset.AbsolutePosition Property, Recordset.AddNew Method, Recordset.Bookmark Method, Recordset.Filter Property, Recordset.Index Property, Recordset.Open Method, Recordset.Move Method, Recordset.MoveFirst Method, Recordset.MoveLast Method, Recordset.MoveNext Method, Recordset.MovePrevious Method, Recordset.Requery Method, Recordset.WillMove Event |
|
Recordset.MoveFirst Method | RMF Method(Versions 2.0, 2.1, 2.5, 2.6) |
recordset.MoveFirst recordset.MoveLast recordset.MoveNext recordset.MovePrevious | |
The MoveFirst, MoveLast, MoveNext, and MovePrevious methods of the Recordset object move the record pointer to the first, last, next, and previous records, respectively, and make that record the current record. |
|
Description | |
The MoveFirst, MoveLast, MoveNext, and MovePrevious methods of the Recordset object allow you to move freely throughout the specified open Recordset object. The MoveFirst method moves to the first record in the recordset, making it the current record. The MoveLast method moves to the last record in the recordset, making it the current record. This method requires the Recordset object to support bookmarks. If it does not, an error is generated when attempting to use the MoveLast method. The MoveNext method moves to the next record in the recordset, making it the current record. If the current record is the last record in the recordset before the call to MoveNext, then the record pointer is moved to the record after the last in the recordset and sets the EOF property to True. Attempting to move past the EOF results in an error. The MovePrevious method moves to the record directly before the current record in the recordset. This record is then set to the current record. This method requires that the recordset support either bookmarks or backward cursor movement; otherwise, an error is generated. If the current record -- before calling the MovePrevious method -- is the first record in the recordset, the record pointer is set to the record directly before the first record, and the BOF property is set to True. Attempting to move before the beginning of the recordset results in an error. |
|
Note | |
Not all providers support the MoveFirst and MovePrevious methods. |
|
See Also | |
CursorOptionEnum Enumeration, Recordset.BOF Property, Recordset.EOF Property, Recordset.Supports Method |
|
Recordset.NextRecordset Method | (Versions 2.0, 2.1, 2.5, 2.6) |
Set resulting_recordset = recordset.NextRecordset(RecordsAffected) | |
The NextRecordset method of the Recordset object returns the next recordset by advancing through a series of commands: recordset.MoveFirst |
|
Arguments | |
|
|
Description | |
Use the NextRecordset method of the Recordset object to obtain the next recordset in a compound command statement or a stored procedure that returns multiple results. An example of a compound command statement is: SELECT * FROM upstairs; SELECT * FROM downstairs The recordset that is originally created with either the Execute or Open methods returns a Recordset object based only on the first SQL statement in this compound statement. You must call NextRecordset to obtain each additional recordset. If the Recordset object is closed and there are remaining statements, those statements will never be executed. The NextRecordset method continues to return recordsets as long as there are more in the list. If a row-returning statement successfully executes, and the result is zero records, then the Recordset object's EOF and BOF properties are both be set to True. If a non-row-returning statement successfully executes, then the Recordset object should not be set to Nothing, but the EOF property should be True. If there are no more statements in the compound command statement, the returned Recordset object is set to Nothing. You must call the Update or the CancelUpdate methods before requesting the next recordset if you are in immediate update mode and editing. Otherwise, an error will be generated. Parameters for compound command statements are passed like those of regular statements; all parameters must be filled in the Parameters collection in the proper order across statements. In addition, you must read all the results of a recordset before reading output parameter values. |
|
See Also | |
Recordset.Update Method, Recordset.CancelUpdate Method, Recordset.BOF Property, Recordset.EOF Property |
|
Recordset.Open Method | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.Open Source, ActiveConnection, CursorType, LockType, Options | |
The Open method opens a cursor within a Recordset object. |
|
Arguments | |
|
|
Description | |
The Source, ActiveConnection, CursorType, and LockType arguments have matching properties within the Recordset object. If the arguments are omitted in the Open method call, the individual values are obtained from the corresponding properties. If a value is specified for a given argument, however, it will overwrite the previous value stored in the property value. The source of a Recordset object can be one of the following:
If anything other than a Command object is used to open a Recordset, specify the data source by using the Options argument. If you do not, ADO must call the data provider repeatedly to determine the type of data that it is opening. When specifying a file as a Recordset object's source, you can
do so with a full pathname, a relative pathname, or even a URL value
( The ActiveConnection argument is used only if you do not specify a Command object. In fact, it is read-only if a valid Command object is set to the Source property. The ActiveConnection argument can be either an already opened Connection object or a connection string, which will be used to open a new Connection object for the Recordset object. It is possible to change the value of the ActiveConnection property after a Recordset object is opened, in order to send the updates to the recordset to another data source. However, the remaining arguments and their corresponding properties become read-only once the Recordset object is opened. You can also open a Recordset asynchronously by adding the adAsyncFetch enumeration value (from the ExecuteOptionEnum enumeration). Once the Recordset is opened if it is empty, both the BOF and the EOF properties will be set True. Close the Recordset object by calling the Close method. This doesn't remove the Recordset object from memory because you can reopen a Recordset object. To remove the Recordset from memory, set the object to Nothing. When opening a Recordset object with a Stream object, the Recordset will automatically be opened synchronously regardless of the ExecuteOptionEnum values specified. In addition, you should not specify any other arguments to the Open method when opening a Recordset object from a Stream object. |
|
See Also | |
CommandTypeEnum Enumeration, CursorTypeEnum Enumeration, ExecuteOptionEnum, LockTypeEnum Enumeration, Recordset.ActiveConnection Property, Recordset.BOF Property, Recordset.Close Method, Recordset.CursorType Property, Recordset.EOF Property, Recordset.LockType Property, Recordset.Source Property |
|
Recordset.PageCount Property | (Versions 2.0, 2.1, 2.5, 2.6) |
pagecount = recordset.PageCount | |
The PageCount property returns the number of logical pages that are in the current Recordset object. |
|
Datatype | |
Long |
|
Description | |
The PageCount property returns a value indicating how many logical pages of data are contained within the recordset. A page is determined by the number of records in the recordset divided by the number of records per page (determined by the PageSize property). If the last page does not contain the number of records in the PageSize property, that page is still counted as a page in the PageCount property. |
|
Returns | |
If the Recordset object does not support the PageCount property, the return value is -1. This indicates that the number of pages could not be determined. |
|
See Also | |
Recordset.AbsolutePage Property, Recordset.PageSize Property |
|
Recordset.PageSize Property | (Versions 2.0, 2.1, 2.5, 2.6) |
pagesize = recordset.PageSize | |
The PageSize property indicates the number of records in a logical page. |
|
Datatype | |
Long |
|
Description | |
The PageSize property determines how many records belong to a logical page within your recordset. The default value is 10. This property can be set at any time and is used with the AbsolutePage property to move to the first record within a specified page. |
|
See Also | |
Recordset.AbsolutePage Property, Recordset.PageCount Property |
|
Recordset.Properties Collection | (Versions 2.0, 2.1, 2.5, 2.6) |
Set properties = recordset.Properties | |
The Properties collection contains characteristics specific to the Recordset object for the currently used provider. |
|
Datatype | |
Properties (Collection object) |
|
Description | |
The Properties collection class contains a Property class instance for each property specific to the Recordset object for the data provider. The Properties collection of the Command object is not populated until the ActiveConnection property of the Command object has been set to an open Connection object or a valid connection string value. |
|
See Also | |
Command.ActiveConnection Property |
|
Recordset.RecordChangeComplete Event | (Versions 2.0, 2.1, 2.5, 2.6) |
RecordChangeComplete(ByVal adReason As ADODB.EventReasonEnum, _ ByVal cRecords As Long, _ ByVal pError As ADODB.Error, _ adStatus As ADODB.EventStatusEnum, _ ByVal pRecordset As ADODB.Recordset) | |
The RecordChangeComplete event is called after an operation changes one or more records in the Recordset object. |
|
Arguments | |
|
|
See Also | |
EventReasonEnum Enumeration, EventStatusEnum Enumeration, Recordset.AddNew Method, Recordset.CancelBatch Method, Recordset.CancelUpdate Method, Recordset.Delete Method, Recordset.WillChangeRecord Event, Recordset.Update Method, Recordset.UpdateBatch Method |
|
Recordset.RecordsetChangeComplete Event | (Versions 2.0, 2.1, 2.5, 2.6) |
RecordsetChangeComplete(ByVal adReason As ADODB.EventReasonEnum, _ ByVal pError As ADODB.Error, _ adStatus As ADODB.EventStatusEnum, _ ByVal pRecordset As ADODB.Recordset) | |
The RecordsetChangeComplete event is called after an operation changes the Recordset object. |
|
Arguments | |
|
|
See Also | |
EventReasonEnum Enumeration, EventStatusEnum Enumeration, Recordset.Open Method, Recordset.Requery Method, Recordset.WillChangeRecordset Event |
|
Recordset.RecordCount Property | (Versions 2.0, 2.1, 2.5, 2.6) |
recordcount = recordset.RecordCount | |
The RecordCount property returns the number of records in the current Recordset object. |
|
Datatype | |
Long |
|
Description | |
If the provider or the cursor does not support the RecordCount property, or if the number of records cannot be determined by ADO, -1 is returned. The actual number of records is always returned by the RecordCount property for Keyset or Static cursors, but -1 is always returned for a Forward Only cursor. Dynamic cursors can return either -1 or the actual number of records, depending upon the data source. The RecordCount efficiently reports the number of records in a recordset only if the current Recordset object supports approximate positioning (Supports -- adApproxPosition) or bookmarks (Supports -- adBookmark); otherwise, this property uses a lot of resources because ADO must load all of the records to count them. |
|
Recordset.Requery Method | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.Requery | |
Description | |
The Requery method of the Recordset object re-executes the command that created the recordset in the first place in order to cause a refresh of the recordset. This method has the same effect as calling the Close method followed by the Open method. If you are adding a new record or editing an existing one, when you call the Requery method, an error is generated. If you wish to change properties that are read-only while a Recordset object is open (CursorType, LockType, etc.), you must manually close and reopen the Recordset object by calling the Close method, editing the properties, and calling the Open method. |
|
See Also | |
ExecuteOptionEnum |
|
Recordset.Resync Method | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.Resync AffectRecords | |
The Resync method of the Recordset object refreshes the data in the recordset from the underlying data source. |
|
Arguments | |
|
|
Description | |
The Resync method of the Recordset object is used to resynchronize the records in the current recordset with those found in the underlying data source. This is very useful when you have either a Static or a Forward Only cursor and you want to check whether anyone else has altered the records in the data source. The Resync method does not show you records that have been added to the data source; rather, it simply updates the ones that you already have. Therefore, the Resync method does not re-execute the underlying command that created the recordset in the first place. If the Resync method attempts to read a record that has been deleted by another user, a runtime error does not occur. Instead, the Errors collection is populated with warnings. A runtime error occurs only if all of the requested records to be updated have a conflict for some reason. You can use the Filter property with the adFilterAffectedRecords value and the Status property to locate any records with conflicts. |
|
Note | |
Not all providers support the Resync method. |
|
See Also | |
ADCPROP_UPDATERESYNC_ENUM Enumeration, AffectEnum Enumeration, CursorOptionEnum Enumeration, Recordset.Supports Method, ResyncEnum Enumeration |
|
Recordset.Save Method | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.Save Destination, PersistFormat | |
The Save method saves the current Recordset object to a file or to a Stream object. |
|
Arguments | |
|
|
Description | |
The Save method must be invoked on an Open Recordset object. The first time Save is called, you can specify the Destination argument, but subsequent calls should be made omitting this argument. If the same destination name is used on the same Recordset object, an error will occur, but if two different names are used, both files will remain open until the Close method is called. Omitting the Destination name on the initial call to Save causes a file to be created with the name of the Source to the Recordset object. When saving a Recordset object with a Filter, only visible records are saved. When saving a hierarchical recordset, the current child Recordset, its children, and the parent Recordset are all saved. When saving a child Recordset, only the child and its children are saved. If the Save method is called while an asynchronous operation is in effect for the Recordset object, the Save method waits until that operation is complete before attempting to persist the Recordset object. After the Recordset object is persisted, the record pointer points to the first record in the Recordset. You should obtain better results by setting the CursorLocation property to the client. If the data provider does not support the functionality necessary to save the Recordset object, then the cursor service will. When using the server as the cursor location, you can typically only insert, delete, or update a single table. In addition, the Resync method is not available. Microsoft warns that when persisting hierarchical recordsets in XML format, you cannot save the Recordset if it contains pending updates or is a parameterized hierarchical Recordset object. |
|
See Also | |
PersistFormatEnum Enumeration, Recordset.Close Method, Recordset.CursorLocation Property, Recordset.Filter Property, Recordset.Source Property |
|
Recordset.Seek Method | (Versions 2.1, 2.5, 2.6) |
recordset.Seek KeyValues, SeekOptions | |
The Seek method quickly changes the record pointer to the record in the Recordset object that matches the index provided. |
|
Arguments | |
|
|
Description | |
The Seek method is used with the Index property of the Recordset object. If the current Recordset supports indexes, you can use the Seek method. Check the value of the Recordset.Supports (adSeek) method call to determine whether the current Recordset object will support this method. The Index property indicates which Index is used with the Seek method. The Seek method's first parameter, an array of Variant values, should contain one value for each column within the currently used Index. If the record cannot be found, the record pointer is placed at the EOF marker. |
|
Notes | |
The Seek method can be used only on server-side clients, which are opened with the CommandTypeEnum enumeration value, adCmdTableDirect. Not all providers support the Seek method. |
|
See Also | |
CommandTypeEnum Enumeration, CursorOptionEnum Enumeration, Recordset.EOF Property, Recordset.Index Property, SeekEnum Enumeration, Recordset.Supports Method |
|
Recordset.Sort Property | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.Sort = sortstring | |
The Sort property sorts a recordset on one or more field names. |
|
Datatype | |
String |
|
Description | |
The Sort property can be set to sort a recordset based upon one or more fields in either ascending or descending order. The Sort property accepts a String value identical to a sort clause of a SQL statement. Fields are separated by commas with either the ASC or DESC keywords following each field name. If the ASC or DESC keyword is absent, ASC is inferred. Setting the Sort property to an empty String value (") removes the sort from the recordset and returns the order to the default. For instance, the following value for the Sort property, "Company ASC, Contact DESC," would sort the recordset by the company in ascending order and then by the contact in descending order. The Sort property does not rearrange data within the recordset; instead, it creates a temporary index for each field that does not already have an index if the CursorLocation property is set to adUseClient. |
|
Note | |
Not all providers support the Sort property. |
|
See Also | |
Recordset.CursorLocation Property |
|
Recordset.Source Property | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.Source = source | |
The Source property returns the source for the data in a Recordset object. |
|
Datatype | |
|
|
Description | |
For a Recordset object, the Source property specifies from where a recordset's data comes. The Source property for the Recordset object is read- and write-enabled while the Recordset object is closed, but read-only once it is opened. The value of the Source property for the Recordset object can contain one of the following:
If the Source property is set to a Command object, the ActiveConnection property of the Recordset object gets its value from the ActiveConnection property of the Command object, but reading the Source property does not return a Command object. Instead, it returns the CommandText property of the associated Command object from which you set the Source property. If the Source property is set to a SQL statement, a stored procedure name, or a table name, you would be better off specifying it in the Options argument of the Open method, in order for the Recordset object to optimize performance. |
|
See Also | |
Recordset.Open Method |
|
Recordset.State Property | (Versions 2.0, 2.1, 2.5, 2.6) |
state = recordset.State | |
The State property indicates the current state of the Recordset object. |
|
Datatype | |
ObjectStateEnum |
|
Description | |
The read-only State property indicates whether the current Recordset object is opened or closed. |
|
See Also | |
ObjectStateEnum Enumeration |
|
Recordset.Status Property | (Versions 2.0, 2.1, 2.5, 2.6) |
status = recordset.Status | |
The Status property indicates the status of the current record in relation to bulk operations. |
|
Datatype | |
RecordStatusEnum |
|
Description | |
The Status property can be set to one or more of the RecordStatusEnum enumeration values listed in Appendix E. The Status property indicates changes still pending for records that have been updated during a batch operation. In addition, the Status property indicates why the following functions have failed: Resync, UpdateBatch, CancelBatch, and Filter (setting equal to an array of bookmarks). |
|
See Also | |
Recordset.CancelBatch Method, Recordset.Filter Property, Recordset.Resync Method, Recordset.UpdateBatch Method, RecordStatusEnum Enumeration |
|
Recordset.StayInSync Property | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.Resync AffectRecords | |
The StayInSync property indicates when the references to chapter recordsets change if the record pointer moves to a different parent row for hierarchical recordsets. |
|
Datatype | |
Boolean |
|
Description | |
The StayInSync property is both read- and write-enabled. The default value for this property is True. If the value of the StayInSync property is set to True, the references of chapter recordsets change when the parent recordset is changed. If the value of the StayInSync property is set to False, the references of chapter recordsets point to the previous parent recordset when moving the record pointer within a hierarchical recordset changes the parent recordset. |
|
Recordset.Supports Method | (Versions 2.0, 2.1, 2.5, 2.6) |
Set boolean = recordset.Supports(CursorOptions) | |
The Supports method determines whether the current data provider supports specified functionality. |
|
Arguments | |
|
|
Returns | |
Boolean |
|
Description | |
The Supports method of the Recordset object tests whether the Recordset object supports individual types of functionality. If the values of the CursorOptionEnum values are added and passed as the sole argument to the Supports function, a return value indicates whether all of the questioned functionality is supported. |
|
See Also | |
CursorOptionEnum Enumeration |
|
Recordset.Update Method | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.Update Fields, Values | |
The Update method of the Recordset object saves the changes made to fields within the current record since a call to AddNew changes the contents of a field or array of fields. |
|
Arguments | |
|
|
Description | |
The current record remains the current record after the call to the Update method. If you specify an array of field names for the Fields argument to the Update method, the Values argument must have the same dimensional array passed to it, containing the corresponding values for each field listed in the Fields array. Otherwise, an error will be generated. If you move to another record while editing a record, that record will be saved -- by an automatic call to the Update method -- before the record position is changed. In addition, if you are editing the current record and you call the UpdateBatch method, the Update method will again -- automatically be called. Conversely, the CancelUpdate method cancels any changes made to the current record. |
|
Note | |
Not all providers support the Update method. |
|
See Also | |
CursorOptionEnum Enumeration, Recordset.Supports Method |
|
Recordset.UpdateBatch Method | (Versions 2.0, 2.1, 2.5, 2.6) |
recordset.UpdateBatch AffectRecords | |
The UpdateBatch method of the Recordset object writes all pending batch updates to disk when called. |
|
Arguments | |
|
|
Description | |
The UpdateBatch method transmits all pending batch updates to the data source. This method is for use only when in batch update mode, which should be used only with a Keyset or Static cursor. It is possible to update cached field values multiple times before committing the changes of the pending batch updates. The Update method is automatically called if the UpdateBatch method is called while in edit mode. If you attempt to update a record that has already been deleted by another user, a runtime error does not occur; instead, the Errors collection is populated with warnings. A runtime error occurs only if all of the requested records to be updated have a conflict for some reason. You can use the Filter property with the adFilterAffectedRecords value and the Status property to locate any records with conflicts. Conversely, the CancelBatch method cancels all pending batch updates, |
|
Note | |
Not all providers support the UpdateBatch method. |
|
See Also | |
AffectEnum Enumeration, Recordset.Supports Method, CursorOptionEnum Enumeration |
|
Recordset.WillChangeField Event | (Versions 2.0, 2.1, 2.5, 2.6) |
WillChangeField(ByVal cFields As Long, _ ByVal Fields As Variant, _ adStatus As ADODB.EventStatusEnum, _ ByVal pRecordset As ADODB.Recordset) | |
The WillChangeField event is called before an operation changes one or more Field object values. |
|
Arguments | |
|
|
See Also | |
EventStatusEnum Enumeration, Recordset.FieldChangeComplete Event, Recordset.Update Method, Recordset.Value Property |
|
Recordset.WillChangeRecord Event | (Versions 2.0, 2.1, 2.5, 2.6) |
WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, _ ByVal cRecords As Long, _ adStatus As ADODB.EventStatusEnum, _ ByVal pRecordset As ADODB.Recordset) | |
The WillChangeRecord event is called before an operation changes one or more records in the Recordset object. |
|
Arguments | |
|
|
See Also | |
EventReasonEnum Enumeration, EventStatusEnum Enumeration, Recordset.AddNew Method, Recordset.CancelBatch Method, Recordset.CancelUpdate Method, Recordset.Delete Method, Recordset.RecordChangeComplete Event, Recordset.Update Method, Recordset.UpdateBatch Method |
|
Recordset.WillChangeRecordset Event | (Versions 2.0, 2.1, 2.5, 2.6) |
WillChangeRecordset(ByVal adReason As ADODB.EventReasonEnum, _ adStatus As ADODB.EventStatusEnum, _ ByVal pRecordset As ADODB.Recordset) | |
The WillChangeRecordset event is called before an operation changes the Recordset object. |
|
Arguments | |
|
|
See Also | |
EventReasonEnum Enumeration, EventStatusEnum Enumeration, RecordsetChangeComplete Event, Recordset.Requery, Recordset.Open |
|
Recordset.WillMove Event | (Versions 2.0, 2.1, 2.5, 2.6) |
WillMove(ByVal adReason As ADODB.EventReasonEnum, _ adStatus As ADODB.EventStatusEnum, _ ByVal pRecordset As ADODB.Recordset) | |
The WillMove event is called before an operation changes the position of the record pointer within the Recordset object. |
|
Arguments | |
|
|
See Also | |
EventReasonEnum Enumeration, EventStatusEnum Enumeration, Recordset.AbsolutePage Property, Recordset.AbsolutePosition Property, Recordset.AddNew Method, Recordset.Bookmark Method, Recordset.Filter Property, Recordset.Index Property, Recordset.Move Method, Recordset.MoveFirst Method, Recordset.MoveLast Method, Recordset.MoveNext Method, Recordset.MovePrevious Method, Recordset.Open Method, Recordset.Requery Method, Recordset.WillMove Event |
|