PC SOFT

WINDEVWEBDEV AND WINDEV MOBILE
ONLINE HELP

Home | Sign in | English UK

  • Read operation according to a key item or not
  • Memos
  • Lock
  • Various
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Moves several records forward from the current position in the data file, according to a specified item.
The destination record is read and loaded in memory: HFSQL variables are updated (e.g. Customer.Name, i.e. item Name of data file Customer).
Several cases may occur after the call to HForward:
  • no other record exists in the data file: HOut returns True. No read operation is performed.
  • the function tries to lock a record that is already locked in read-only: HErrorLock returns True and HOut returns True.


    Java Access by JDBC: The management of locks is not available for databases accessed by JDBC.
This function can be used with the HFSQL files, views or queries.
Versions 18 and later
Universal Windows 10 App This function is now available in Windows Store apps mode.
New in version 18
Universal Windows 10 App This function is now available in Windows Store apps mode.
Universal Windows 10 App This function is now available in Windows Store apps mode.
Versions 21 and later
Universal Windows 10 App This function is now available in Universal Windows 10 App mode.
New in version 21
Universal Windows 10 App This function is now available in Universal Windows 10 App mode.
Universal Windows 10 App This function is now available in Universal Windows 10 App mode.
Remark: From version 19, HFSQL is the new name of HyperFileSQL.
// Moves to the 2000th record
// of the Customer file according to the CustName key
HReadFirst(Customer, CustomerName)
HForward(Customer, CustName, 1999)
WINDEVJavaUser code (UMC)HFSQLHFSQL Client/ServerHyper File 5.5OLE DBNative Connectors (Native Accesses)
// Check the status report of HForward
// Moves to the 2000th record
// of the Customer file according to the CustName key
HReadFirst(Customer, CustomerName)
IF HForward(Customer, CustName, 1999, hLockWrite) = False THEN
IF HErrorLock() = True THEN
Info("This record is currently used")
ELSE
Error(HErrorInfo())
END
END
Syntax
<Result> = HForward([<Data file>] [, <Item> [, <Step> [, <Options>]]])
<Result>: Boolean
  • True if the move was performed in the file,
  • False if an error occurred (lock, end of file, etc.): the record is not read. HError is used to identify the error.
<Data file>: Optional character string (with or without quotes)
Name of data file, view or query used.
If this name is not specified, HForward uses the last data file used by the last HFSQL management function (function starting with "H").
<Item>: Optional character string (with or without quotes)
Name of item according to which the browse is performed.
If this name is not specified, HForward handles the last item of the data file used by the last HFSQL management function (function starting with the letter H).
<Step>: Optional integer
Number of steps forward (which means number of records to browse). By default, <Step> = 1.
<Options>: Optional Integer constant (or combination of constants)
Configures:
  • the lock mode applied to the record read. By default, the lock performed corresponds to the current lock.
    hLockNoNo lock (even if HStartLock was called): the record can be read or modified by another application during the reading.
    hLockWriteLock in write mode: the record currently read can be read by another application but it cannot be modified by another application.
    hLockReadWriteLock in read/write: the record currently read cannot be read or modified by another application.


    OLE DBNative Connectors (Native Accesses) The lock options will have no effect if the locks are not supported by the OLE DB provider or by the Native Connector.
    Java Access by JDBC: The management of locks is not available for databases accessed by JDBC.
  • the management of duplicates during the browse. By default, all the duplicates are browsed.
    hDistinctWhen a browse is performed on a key item, a single record is browsed if duplicates are found.
Hyper File 5.5 <Options> is ignored.
Remarks

Read operation according to a key item or not

In all cases, the browse operation must have been initialized by one of the following functions: HReadFirst, HFirst, HReadSeekFirst, HSeekFirst, HChangeKey, HRestorePosition.
If the item used is a key item:
  • if the hDistinct constant is not specified, HForward moves forward <Step> key values from the current position.
  • if the hDistinct constant is specified, HForward moves forward <Step> key values from the current position. If duplicates are found, a single duplicate is read.
If the item used is not a key item:
  • the hDistinct constant is not available.
  • HForward moves foward from <Step> active records from the current position.

Memos

The memos associated with the record can be automatically read (or not) when reading the record. HSetMemo is used to customize this automatic read operation.
If the memos are supported, the associated text memos are read when the record is read. The binary memos are read only when they are explicitly used (HExtractMemo).
WINDEVUniversal Windows 10 AppJavaUser code (UMC)HFSQLHFSQL Client/ServerHyper File 5.5OLE DBNative Connectors (Native Accesses)

Lock

By default (no lock variable specified), the lock performed corresponds to the current lock mode.
If a lock is specified (hLockWrite or hLockReadWrite constant), the record will be read and locked only if it is not already locked by another application.
There is no need to specify a lock constant if the file is locked by HStartLock: the lock specified by HStartLock is automatically taken into account. To ignore the lock specified by HStartLock, use the hLockNo constant.
OLE DBNative Connectors (Native Accesses) The lock options will have no effect if the locks are not supported by the OLE DB provider or by the Native Connector.

Various

  • The result of HFound must be ignored (HFound must be used for the searches performed by HReadSeek).
  • The current record number is returned by HRecNum.
  • HForward respects the current active filter (defined by HFilter).
  • HChangeKey is used to modify the search key while remaining positioned on the current record.
  • HForward(Customer,Name) is equivalent to HReadNext(Customer,Name)
Component : wd250hf.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment