ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / Managing databases / HFSQL / HFSQL functions
  • Physical data file associated with an alias
  • Canceling the aliases of one or more data files
  • Alias and queries
  • Handling the alias file and its items
  • Changing the directory or modifying the connection
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
Creates a logical alias of a data file (or a query). The alias can be canceled using HCancelAlias.
Reminder: An alias allows you to work on different physical data files that have the same logical description. For a data file for example, the file description is performed in the analysis and <Source>.Alias is used to create the file alias.
Remark: This help page explains how to create an alias with <Source>.Alias. Starting with version 27, you can use Alias variables. This type of variable makes it easier to create and handle aliases.
Example
// Data Source variable to handle the alias after its creation
OrderCheck is Data Source <description=Order>
// New feature of version 19:
// <description=Order> is used to get the code completion
// for the items in the Order data file
 
// Create an alias for the "Order" data file
IF Order.Alias(OrderCheck) = True THEN
// "OrderCheck" can now be used in processes.
// It behaves like the "Order" file described in the analysis.
// By default, the name of the associated physical file corresponds to
// the name of the data source, therfore "OrderCheck" in this case
// To handle the same physical file as the initial one, the name must be modified:
   OrderCheck.ChangeName(Order.PhysicalName)
    // To use a file on another database or in another directory,
// then use <Source>.ChangeConnection or <Source>.ChangeDir
ELSE
   Error("Failure creating the alias", HErrorInfo())
   RETURN
END
Syntax
<Result> = <Source>.Alias([<Alias>])
<Result>: Boolean
  • True if the alias was created,
  • False if a problem occurs. HError is used to identify the error.
<Source>: Type corresponding to the specified source
Logical name of data file (defined in the analysis) or name of query (created with the query editor).
<Alias>: Optional character string or data source
Name of alias, used to define the alias structure.
If this parameter is not specified, all the aliases created for <Source> are canceled. The corresponding data files are closed.
To optimize your applications, it is recommended to use a variable of type Data source (see example).
OLE DBNative Connectors (Native Accesses) The <Alias> file uses the connection parameters of <Source> (parameters defined in the analysis).
Remarks

Physical data file associated with an alias

By default, the name specified for the alias is assigned to the physical data file corresponding to the alias.
To associate the alias with a physical data file of different name, you must use <Source>.ChangeConnection, <Source>.ChangeName and <Source>.ChangeDir.

Canceling the aliases of one or more data files

The cancelation of an alias (HCancelAlias) closes the associated data file.
To cancel the aliases of a data file, all you have to do is use <Source>.Alias without specifying the alias name.

Alias and queries

  • If the query was created through programming (<Source>.ExecuteSQLQuery), all you have to do is create the alias query with this same function while specifying the alias name.
  • If the query was created by the report editor, to create an alias, you must:
    • run the initial query.
    • use <Source>.Alias and specify the query name as well as the alias name.
    • use <Source>.ExecuteQuery with the alias query. The alias is initialized.
    For example:
    QueryAlias is Data Source
    QRY_Query1.Alias(QueryAlias)
    QueryAlias.ExecuteQuery()

    Remark: When creating the alias, the initial query must have been run.
    Example:
    QueryAlias is Data Source
    IF QRY_Query1.ExecuteQuery() = False THEN
    Error(HError(hErrCurrent))
    ELSE
    QRY_Query1.ReadFirst()
    Trace(QRY_Query1.City)
    QRY_Query1.Alias(QueryAlias)
    IF QueryAlias.ExecuteQuery() = False THEN
    Error(HError(hErrCurrent))
    ELSE
    FOR EACH AliasQuery
    Trace(QueryAlias.City)
    END
    END
    END

Handling the alias file and its items

  • To avoid the "Unknown identifier" error when using an alias file and its items, it is recommended to use a Data source variable to declare the name of the alias before using <Source>.Alias.
    For example:
    Order2018 is Data Source
    Order.Alias(Order2018)

    Caution: the Extern keyword can be used but it slows down the execution significantly.
  • In <Source>.ReadSeek, <Source>.ReadFirst, <Source>.ReadNext, ... the name of the alias item cannot be used directly: the name of the item must be enclosed in quotes.
    For example:
    srcAlias.ReadSeekFirst("KeyItem", "Sought Value")
  • The name of the data source must not be used in quotation marks, if Automatic naming of data sources is enabled in the project description window.
  • In the window or page editor, controls cannot be directly bound to the items of the alias files. You must: Example:
    ControlAlias(Control, srcAlias)
    OR
    ControlAlias(GR_ControlGroup, srcAlias)
    OR
    ControlAlias(WIN_Window, srcAlias)
    OR
    EDT_CustomerName.DataBinding = "SrcAlias.CustomerName"
  • The alias files can be handled by <Source>.ListItem and <Source>.ListKey. The alias files can be re-indexed.
  • By default, the password of an alias file is identical to the password of the initial data file. This password can be modified by <Source>.Password. The name of the data file used in this function corresponds to the name of the alias.
  • The automatic modification of the data files can be applied to the alias files.
  • The locks performed on the data files or on the records are effective between the aliases of the same instance of an application.
WINDEVWEBDEV - Server codeReports and QueriesUniversal Windows 10 AppiPhone/iPadIOS WidgetMac CatalystJavaUser code (UMC)AjaxStored procedures

Changing the directory or modifying the connection

If <Source>.ChangeDir or HConnect have been used with the initial data file, these changes are ignored for the <Alias> data file.
Once an alias was created, we recommend that you use <Source>.ChangeConnection to define the connection parameters on the alias file.
Component: wd290hf.dll
Minimum version required
  • Version 25
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 09/07/2023

Send a report | Local help