ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
Help / WLanguage / Managing databases / HFSQL / HFSQL functions
  • Automatic management of composite keys
  • Filter and filtered iteration
  • Enabling/Disabling a filter
  • Data file not in HFSQL format
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
Defines and enables a filter used to find the exact value of a string item. This filter can be used on a data file, a view or a query.
After its execution, the most common cases are as follows:
  • the filter cannot be created: the function HFilterIdentical FUNCTION function returns an empty string (""). HError returns the error identifier.
  • the filter is created: the HFilterIdentical function returns the optimal route key to be used to route the data file, view or query.
Example
// Sélection de tous les clients ayant pour nom Archambault 
// et pour prénom Corentin
CléParcours is string
CléParcours = HFilterIdentical(Client, NomPrénom, "Archambault", "Corentin")
HReadFirst(Client, CléParcours)
WHILE NOT HOut()
	Trace(Client.NomClient, Client.Ville)
	HReadNext(Client, CléParcours)
END
// Désactive le filtre
HDeactivateFilter(Client)
Syntax
<Result> = HFilterIdentical(<Data file> , <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.
<Data file>: Character string
Name of the HFSQL data file, view or query used.
<Key item>: Character string
Name of key item onto which the filter will be applied. This item can be a simple key (string) or a composite key. Warning: this parameter must only contain letters, underlined characters or numbers.. Otherwise, the name must be enclosed in quotes.
<Value for key component 1>: Type of each component of the 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 the 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 the 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(Client, Nom, "Archambault")
// Sélection du client ayant pour nom Archambault
Example: Using HFilterIdentical with a composite key
Res = HFilterIdentical(Client, NomPrénom, "Archambault", "Corentin")
// Sélection de tous les clients ayant pour nom Archambault et 
// pour prénom par Corentin
This line of code is equivalent to:
HFilter(Client, NomPrénom, ...
	HBuildKeyValue(Client, NomPrénom, "Archambault", "Corentin"), ...   
	HBuildKeyValue(Client, NomPrénom, "Archambault", "Corentin")

Filter and filtered iteration

After the call to HFilterIdentical, the iteration must be performed on the item returned by HFilterIdentical. The filter will be ignored if another item is used to loop through 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 there are no more records matching the filter during browsing:
  • 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:
HReadFirstthe first file record corresponding to the filter.
HReadLastthe 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 the HFilterIdentical is used several times, only the last filter will be taken into account: the previous filter(s) will be deleted. Similarly, if several filters are used (HFilter* functions), only the last filter will be taken into account.
WINDEVWEBDEV - Server codeReports and QueriesAndroidAndroid Widget User code (UMC)AjaxStored proceduresOLE DBNative Connectors (Native Accesses)

Data file not in HFSQL format

Component: wd300hf.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 03/27/2025

Send a report | Local help