ADO RecordSet Process: Difference between revisions

From AutoIt Wiki
Jump to navigation Jump to search
mNo edit summary
Line 14: Line 14:


== Search ==
== Search ==
; Find
'''Find'''<br />
: Searches for a row in a Recordset that matches the given criteria.
The Find method is used to search a Recordset for a Record that matches the search criteria (a search string). This method will work if the Recordset supports bookmarks. If the search is successful, the current record pointer will be moved to point to the first Record that matches. If the search fails, the Recordset will point to either EOF or BOF.


; Seek
Syntax:
: Uses the index of a Recordset to locate a specified row.
recordsetobject.Find(Criteria, SkipRecords, SearchDirection, Start)
 
There is one mandatory and three optional parameters.
 
The mandatory '''Criteria''' parameter is a string that defines the search criteria. This string must contain one field (column) name, one comparison operator, and a search value.
 
You can only search on one field (column).
 
The comparison operators in Criteria can only be one of the following:
= > >= < <= <> LIKE
 
You cannot use OR or AND.
 
The value in Criteria can be a date, number, or string. If the value is a string, it must be enclosed (delimited) within a pair of single quotes ("State = ' Tennessee' ") or a pair of pound signs ("State = #Tennessee# "). If the value is a date, it must be enclosed (delimited) within a pair of pound signs ("Birthdate = #6/26/1943# "). Numbers are not delimited ("Age = 104").
 
If you are using the LIKE operator, you can also use the asterisk * wildcard either after the value in Criteria or before and after the value in Criteria ( "LastName LIKE ' * stein * ' " or "State = ' T * ' ). Some providers also support using the % and _ wildcards.
 
The optional '''SkipRecords''' parameter is a long value that specifies how many records beyond the current record to skip to before starting the search. The default is zero which means that the search starts at the current record.
 
The optional '''SearchDirection''' parameter is one of the SearchDirectionEnum constants that specify which direction the search should proceed, either forward or backward. If no matching record is found for a forward search, the record pointer is set at EOF. If no matching record is found for a backward search, the record pointer is set at BOF.
 
SearchDirectionEnum Constants:
{| class="wikitable"
|-
! Constant !! Value !! Description
|-
| adSearchBackward || -1 || Searches from the designated starting point backward to the first record
|-
| adSearchForward || 1 || Searches from the designated starting point forward to the last record
|}
 
The optional '''Start''' parameter is a variant that is either a bookmark or one of the BookmarkEnum constants that indicates the starting position for the search. The default is to start at the current record.
 
BookmarkEnum Constants:
{| class="wikitable"
|-
! Constant !! Value !! Description
|-
| adBookmarkCurrent || 0 || (Default) Start search at current record
|-
| adBookmarkFirst || 1 || Start search at first record
|-
| adBookmarkLast || 2 || Start search at last record
|}
 
'''Seek'''<br />
Uses the index of a Recordset to locate a specified row.


== Move ==
== Move ==

Revision as of 22:23, 12 January 2014

Search/process the fetched data

Access

GetRows
Used to copy either all or a specified number of records into a two-dimensional array.
GetString
Returns the specified Recordset as a string.
Save
Saves the Recordset to a file or Stream object.
Delete
Deletes the current record, a group of records, or all records.

Search

Find
The Find method is used to search a Recordset for a Record that matches the search criteria (a search string). This method will work if the Recordset supports bookmarks. If the search is successful, the current record pointer will be moved to point to the first Record that matches. If the search fails, the Recordset will point to either EOF or BOF.

Syntax:

recordsetobject.Find(Criteria, SkipRecords, SearchDirection, Start)

There is one mandatory and three optional parameters.

The mandatory Criteria parameter is a string that defines the search criteria. This string must contain one field (column) name, one comparison operator, and a search value.

You can only search on one field (column).

The comparison operators in Criteria can only be one of the following: = > >= < <= <> LIKE

You cannot use OR or AND.

The value in Criteria can be a date, number, or string. If the value is a string, it must be enclosed (delimited) within a pair of single quotes ("State = ' Tennessee' ") or a pair of pound signs ("State = #Tennessee# "). If the value is a date, it must be enclosed (delimited) within a pair of pound signs ("Birthdate = #6/26/1943# "). Numbers are not delimited ("Age = 104").

If you are using the LIKE operator, you can also use the asterisk * wildcard either after the value in Criteria or before and after the value in Criteria ( "LastName LIKE ' * stein * ' " or "State = ' T * ' ). Some providers also support using the % and _ wildcards.

The optional SkipRecords parameter is a long value that specifies how many records beyond the current record to skip to before starting the search. The default is zero which means that the search starts at the current record.

The optional SearchDirection parameter is one of the SearchDirectionEnum constants that specify which direction the search should proceed, either forward or backward. If no matching record is found for a forward search, the record pointer is set at EOF. If no matching record is found for a backward search, the record pointer is set at BOF.

SearchDirectionEnum Constants:

Constant Value Description
adSearchBackward -1 Searches from the designated starting point backward to the first record
adSearchForward 1 Searches from the designated starting point forward to the last record

The optional Start parameter is a variant that is either a bookmark or one of the BookmarkEnum constants that indicates the starting position for the search. The default is to start at the current record.

BookmarkEnum Constants:

Constant Value Description
adBookmarkCurrent 0 (Default) Start search at current record
adBookmarkFirst 1 Start search at first record
adBookmarkLast 2 Start search at last record

Seek
Uses the index of a Recordset to locate a specified row.

Move

MoveFirst method
Moves the position of the current record pointer to the first record.
MoveLast method
Moves the position of the current record pointer to the last record.
MoveNext method
Moves the position of the current record pointer forward to the next record.
If you are at the last record, calling this method will put you at EOF and the EOF property will be set to True. If you are at EOF and call this method, an error will be generated.
MovePrevious method
Moves the position of the current record pointer back to the previous record.
If you are at the first record, calling this method will put you at BOF and the BOF property will be set to True. If you are at BOF and call this method, an error will be generated.

Sort

The Sort property sets or returns a string value that provides the names of the fields in the Recordset that you wish sorted. Each name must be separated by a delimiter comma and the entire string must be enclosed within a pair of double quotes. If the field name contains blank spaces, you need to enclose it within a pair of square brackets.

You also have the option of specifying that the sort be in ascending or descending order for each individual field. You can declare the sort order by placing a blank space followed by either the keyword ASC, for an ascending sort, or DESC, for a descending sort, directly after the field name, but before the delimiter comma. The default is to sort in ascending order.

The CursorLocation property will need to be set to adUseClient.