ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
Help / WLanguage / Managing databases / HFSQL / Types of HFSQL variables
  • Properties specific to link descriptions
  • How to describe data files programmatically?
  • Handling the links of a data file described programmatically
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
A Link Description variable is used to describe a link between two data files programmatically. The description of each link is validated by HDescribeLink.
After this validation:
  • This link can be handled like any other link described in the analysis.
  • The "Link Description" variable is reinitialized and can be used to describe another link programmatically.
Note To add a link to an HFSQL Client/Server database, use the HAddLink function.
Example
MaLiaison is Link Description
MaLiaison1, MaLiaison2 are Link Descriptions
// Description et validation des fichiers de données Ville et Client
...

// Description de la liaison "HABITE"
MaLiaison is Link Description
MaLiaison.Name = "HABITE"
MaLiaison.SourceFile = "VILLE"
MaLiaison.LinkedFile = "CLIENT"
MaLiaison.SourceKey = "NOMVILLE"
MaLiaison.LinkedKey = "VILLECLI"
// Liaison par défaut (0-1, 0-1)

// Validation de la description de la liaison "HABITE"
HDescribeLink(MaLiaison)
Syntax

Declaring one or more link descriptions Hide the details

<Variable name> is Link Description
<Variable name 1>, <Variable name 2> are Link Descriptions
<Variable name>:
Name of the "Link Description" variable to be declared.
Note: The keywords une and des are not mandatory: they are approval words..

Describing a "Link Description" variable Hide the details

To describe a "Link Description" variable:
Use the WLanguage properties specific to link descriptions. For more details, see remarks.

To validate the description of a "Link Description" variable:
Use the HDescribeLink function.
Remarks

Properties specific to link descriptions

The following properties are specific to link descriptions:
Note Properties in bold followed by an asterisk must be initialized when describing a programmed link.
Property nameEffect
MaxLinkedCardinalityMaximum cardinality of the linked item in a link
MinLinkedCardinalityMinimum cardinality of the linked item in a link
MaxSourceCardinalityMaximum cardinality of the source item in a link
MinSourceCardinalityMinimum cardinality of the source item in a link
LinkedKey ( * )Item of the linked file used in the link
SourceKey ( * )Item of source file used in the link
LinkedFile ( * )Name of the linked file used in the link
SourceFile ( * )Name of the source file used in the link
Name ( * )Name of the link
ModificationRuleModification rule (integrity management) used in a link
DeletionRuleDeletion rule (integrity management) used in a link

By default, the cardinalities of the link are (0-1) / (0-1).

How to describe data files programmatically?

To describe data files programmatically:
  1. Declare the variables of type "File description", "Item Description", "FullTextIndex Description" and "Link Description" (if necessary).
  2. For each data file:
  3. If necessary, describe the characteristics of the links using HFSQL properties.
  4. If necessary, validate the description of each link (HDescribeLink).

Handling the links of a data file described programmatically

When a link is created in the data model editor, the name of the link is automatically recognized by the compiler.
When a link is created via a "Link Description" variable, the name of this link is defined with the Name property. This name is not automatically recognized by the compiler. Using this name to identify the link generates a compilation error.
In order for the name of the link created through programming to be recognized by the compiler, this name must be declared via the Extern keyword. This link can now be handled by its name in the code editor.
For example:
MaLiaison is Link Description
...
MaLiaison.Name = "HABITE"
...
HDescribeLink("HABITE")
...
EXTERN HABITE
...
Cardinalité = HABITE.CardinalitéReliéeMax
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 03/25/2025

Send a report | Local help