PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN
This content has been translated automatically. Click here to view the French version.
  • Overview
  • Method 1: Browse functions
  • Code example
  • Method 2: FOR EACH statement
  • Code example
  • Method 3: HFilter function
  • Example
  • Method 4: Using an SQL query
  • Example
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Overview
Several methods can be used to browse a data file according to a filter:
Method 1: Browse functions
This method uses the WLanguage functions to loop through the data files:
HReadSeek is used to access the first record corresponding to the value of the minimum bound for the search key.
The HReadNext function allows access to the next Record corresponding to the search.
HFound is used to find out whether there is a record corresponding to the search value.

Code example

// Parcours des enregistrements du fichier Client dont la ville est MONTPELLIER.
 
HReadSeek(CLIENT, Ville, "MONTPELLIER")
WHILE HFound(CLIENT)
// Traitement de l'enregistrement CLIENT
 
HReadNext(CLIENT, Ville)
END
Method 2: FOR EACH statement
The FOR EACH statement is used to browse the records found in a data file. In our case, this statement will be used to read the records found in a data file according to a filter.
The FOR EACH statement expects the following parameters:
  • the name of the data file to browse.
  • the name of the index (or key) used to sort the records.
  • the filtering value.
The first record and the next record are read by the FOR EACH statement. There is no need to use the HReadXXX functions.

Code example

// Parcours des enregistrements du fichier Client dont la ville est MONTPELLIER.
FOR EACH CLIENT where VILLE = "MONTPELLIER"
// Traitement de l'enregistrement CLIENT
END
Method 3: HFilter function
  1. Use HFilter to apply a filter of records to the data file.
  2. Browse the filtered data file with the stardard browse functions.
  3. At the end of browse, disable the filter with HDeactivateFilter.

Example

Find orders whose date is included between 02/01/2017 and 02/28/2017.
// On applique le filtre
HFilter(COMMANDE, DATECOMMANDE, "20170201", "20170228")
 
// On parcourt le fichier
FOR EACH COMMANDE
// On traite la commande lue
END
 
 
// On désactive le filtre
HDeactivateFilter(COMMANDE)
Note: HFilter is easier to use than the previous methods. It can also be used to manage more filter capabilities. For more details, see the online help about HFilter.
Method 4: Using an SQL query
To browse the data file with filter via a query:
  1. Create the query. The query is used to filter the requested records.
    Reminder: An SQL query can be performed:
    • in the query editor.
    • programmatically.
    For more details on how to create a query, see Creating a query.
  2. Execute the query (HExecuteQuery or HExecuteSQLQuery).
  3. Read the query result by browsing the data file.
  4. Free the query (HFreeQuery).

Example

HExecuteQuery(REQ_ListeClient)
FOR EACH REQ_ListeClient
// Traitement du client lu dans la requête
END
HFreeQuery(REQ_ListeClient)
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment