- Automatic management of composite keys
- Filter and filtered browse
- Enabling/Disabling a filter
- Data file not in HFSQL format
HFilterIdentical (Function) In french: HFiltreIdentique
Not available with this kind of connection
// Select all the customers whose last name is Archambault // and whose first name is Colin SearchKey is string SearchKey = HFilterIdentical(Customer, LastNameFirstName, "Archambault", "Colin") HReadFirst(Customer, SearchKey) WHILE NOT HOut() Trace(Customer.CustomerName, Customer.City) HReadNext(Customer, SearchKey) END // Disables the filter HDeactivateFilter(Customer)
Syntax
<Result> = HFilterIdentical(<File name> , <Name of key item> , <Value for key component 1> [, <Value for key component 2> [... [, <Value for key component N>]]])
<Result>: Character string Browse item. Corresponds to:- the search key of data file if the filter is enabled.
- an empty string ("") if the filter cannot be implemented.
<File name>: Character string (with or without quotes) Name of HFSQL data file, view or query used. <Name of key item>: Character string (with or without quotes) Name of key item onto which the filter will be applied. This item can be a simple key (string) or a composite key. Caution: this parameter must only contain letters, underlined characters or digits. Otherwise, the name must be enclosed in quotes. <Value for key component 1>: Type of each component of search key Value sought for the first component of composite key. The type of this parameter must correspond to the type of key item component on which the filter is defined. <Value for key component 2>: Type of each component of search key Value sought for the second component of the composite key. The type of this parameter must correspond to the type of key item component on which the filter is defined. <Value for key component N>: Type of each component of search key Value sought for component N of composite key . The type of this parameter must correspond to the type of key item component on which the filter is defined. Remarks Automatic management of composite keys HFilterIdentical automatically manages the filters on the simple keys and on the composite keys. Example: Using HFilterIdentical with a simple key:
Res = HFilterIdentical(Customer, LastName, "Archambault") // Select the customer whose last name is Archambault
Example: Using HFilterIdentical with a composite key
Res = HFilterIdentical(Customer, LastNameFirstName, "Archambault", "Corentin") // Select all the customers whose last name is Archambault and // whose first name is Colin
This code line is equivalent to:
HFilter(Customer, LastNameFirstName, ... HBuildKeyValue(Customer, FirstNameLastName, "Archambault", "Colin"), ... HBuildKeyValue(Customer, FirstNameLastName, "Archambault", "Colin")
Filter and filtered browse After the call to HFilterIdentical, the data file must necessarily be browsed on the item returned by HFilterIdentical. The filter will be ignored if another item is used to browse the data file. When a filter is defined and enabled on a data file (view or query), all records read correspond to the filter. If no other record corresponds to the filter during the browse: - HOut returns True.
- the current record corresponds to the last record read with the filter.
For example: | | On a filtered data file, after the function: | the current record is: |
---|
HReadFirst | the first file record corresponding to the filter | HReadLast | the last file record corresponding to the filter | HReadNext (or HForward) | the next record (or the next nth record) corresponding to the filter | HReadPrevious (or HBackward) | the previous record (or the previous nth record) corresponding to the filter |
Enabling/Disabling a filter - HDeactivateFilter is used to disable a filter.
- HActivateFilter is used to re-enable a filter.
- The filter is deleted when the data file (query or view) is closed (HClose or HOpenAnalysis for example).
- A single filter can exist at a given time on a data file (query or view). If HFilterIdentical is used several times, only the last filter will be taken into account: the previous filters will be deleted. Similarly, if several filters are used (HFilter* functions), only the last filter will be taken into account.
This page is also available for…
|
|
|