ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / Managing databases / HFSQL / HFSQL functions
  • Selection condition
  • Creating a view on a filtered data file
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
Warning
From version 20, SQL views and the materialized views are available.
The views handled by this function correspond to the former view mechanism. They do not correspond to SQL views or to materialized views.
Creates an HFSQL view.
Remark: To merge several views, use HMergeView.
Reminder: An HFSQL view corresponds to a "memory image" of a data file. A view is stored in memory, which insulates it from the modifications made to the associated data file. Once created, a view can be handled like any HFSQL data file.
// Create a view
MyView is Data Source
HCreateView(MyView, CUSTOMER, "*", "NAME,CITY", "NAME]='A'", hViewDefault)
Syntax

Creating a view on a data file (data file described in the analysis or created through programming) Hide the details

<Result> = HCreateView(<View to create> , <Data file> [, <Items> [, <Sort items> [, <Selection condition>]]] [, <Creation mode> [, <Page size>]])
<Result>: Boolean
  • True if the view was created,
  • False if a problem occurs. HError is used to identify the error.
<View to create>: Data source (or character string)
View to create. A Data Source variable is used to optimize the access time to the view items.
<Data file>: Character string
Name of the data file used. This data file can correspond to a data file described in the analysis or through programming (HDescribeFile). You also have the ability to use a data source.
<Items>: Optional character string
List of items in the view. In this list, the different items are separated by commas or by CR characters (Carriage Return).
If this parameter is not specified or if it corresponds to "*", the items found in the data file will be included in the view.
<Sort items>: Optional character string
List of sort items for the view. In this list, the sort items are separated by commas or by CR characters (Carriage Return). The sort is performed according to the order of the items in the list.
The sort direction can be specified for each item:
  • a "+" sign in front of the item name indicates an ascending sort order.
  • a "-" sign in front of the item name indicates a descending sort order.
If this parameter is not specified or is an empty string (""), no sort is defined in the view.
Hyper File 5.5 A single sort item must be specified in <Sort items>.
<Selection condition>: Optional character string
Selection condition of records. All items found in the data file can be included in the condition (key or non-key items).
No selection condition is applied if this parameter is not specified or if it corresponds to an empty string. This selection condition can be an Ansi or Unicode character string.
<Creation mode>: Optional Integer constant (combination of constants)
Configures the creation mode of view.
hViewAddStores the content of the view next time HExecuteView is called.
hViewBreakableInterrupt view creation by pressing the ESC key.
HFSQL Client/Server This constant is not available.
hViewDefaultDefault view creation mode
hViewDistinctThe view is created and the duplicates are deleted according to the sort key (in this case, the sort items must be specified).
If several items are specified, the duplicates are deleted according to the composition of the specified sort items.
Hyper File 5.5 If the hViewDistinct constant is specified, there is no need to specify a sort item in <Sort items>. In this case, the hViewDistinct constant is ignored.
hViewExclusiveLock the entire source file to reduce the view creation time.
hViewLockingThe records read in the data file and included in the view are locked.
hViewPostponedThe view is created, but it will be run later by HExecuteView. The data found in the view will be the data found during the execution of the view.
<Page size>: Optional integer
Number of records per page (for a view used by remote access).
HFSQL Client/Server This parameter is ignored.
Remarks

Selection condition

The general syntax of a condition has the following format:
"CustName>'Smith' and ZipCode=34 or ZipCode=32"
The supported operators depend on the type of items used in the condition:
<>Not equal toValid for all types
>Greater thanValid for all types
>=Greater than or equal toValid for all types
<Less thanValid for all types
<=Less than or equal toValid for all types
=Strictly equal toValid for all types
~=Almost equal to: ignores the space characters on the right, the accented characters, the lowercase and uppercase charactersValid for string types only
~~Very flexible equality: does not distinguish between lowercase and uppercase characters, ignores the space characters found before and after the string to test, ignores the lowercase accented characters, ignores the space characters and the punctuation characters inside the strings.Valid for string types only
]Contains: takes the lowercase and uppercase characters into accountValid for string types only
~]Contains: ignores the lowercase and uppercase charactersValid for string types only
]=Starts with: takes the lowercase and uppercase characters into accountValid for string types only

Remarks on the selection condition:
  • Constant strings must be enclosed in single quotes.
  • The item name must only contain letters, digits and underscore characters ("_"). If the item name contains other characters (quotes, etc.), it must be enclosed in double quotes.
    For example: "e_mail@"]'com'
  • Comparisons between strings are performed according to the ASCII value of the characters and not according to the lexicographic value ('a' > 'Z').
  • The binary memos and the composite keys cannot be part of a selection condition.
  • If a <string constant> contains a simple quote (or a double quote), this simple quote (or double quote) must be preceded by a backslash character (\).
  • To optimize the browse, use HStatCalculate on the data file before creating the view. Indeed, the HFSQL engine analyzes the selection condition and it uses these statistics to define the most discriminating items that will be used to optimize the browse operations performed on the data files.
  • This selection condition can be an Ansi or Unicode character string.
WEBDEV - Server codeAjaxHFSQL ClassicHFSQL Client/ServerHyper File 5.5

Creating a view on a filtered data file

HCreateView takes into account the filter set on the source data file.
This characteristic is supported by the views created from HFSQL Classic or Client/Server, Hyper File 5.5 and xBase data files.
Component: wd290hf.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 07/03/2023

Send a report | Local help