DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Influence des rubriques de tri
  • Manipulation des rubriques de la vue après une jointure
  • Jointures : différences de résultat dans les recherches selon l'ordre des vues utilisées dans la jointure
  • Hyper File 5.5
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
HFusionneVue (Fonction)
En anglais : HMergeView
ODBCNon disponible avec ce type de connexion
Avertissement
A partir de la version 20, les vues SQL et les vues matérialisées sont disponibles.
Les vues manipulées par cette fonction correspondent à l'ancien mécanisme des vues. Elles ne correspondent ni aux vues SQL ni aux vues matérialisées.
Crée une vue HFSQL à partir de deux vues précédemment créées (fonction HCréeVue). Un grand nombre d'opérations ensemblistes peut être réalisé lors de la fusion des vues.
// Union de deux vues
MaVue est une Source de Données
VueClient84 est une Source de Données
...
HFusionneVue(MaVue, VueClient84, VueClient84, hVueUnion, "+NomCli")
Syntaxe
<Résultat> = HFusionneVue(<Vue destination> , <Première vue> , <Seconde vue> , <Type d'opération> , <Rubrique de tri de la première vue> [, <Rubrique de tri de la seconde vue> [, <Mode de création> [, <Taille d'une page>]]])
<Résultat> : Booléen
  • Vrai si la vue a été créée,
  • Faux en cas de problème. La fonction HErreur permet d'identifier l'erreur.
<Vue destination> : Chaîne de caractères
Nom de la vue à créer, résultat de l'opération effectuée sur les deux vues spécifiées.
<Première vue> : Chaîne de caractères
Nom de la première vue participant à l'opération.
<Seconde vue> : Chaîne de caractères
Nom de la seconde vue participant à l'opération.
<Type d'opération> : Constante de type Entier
Opération à réaliser entre les deux vues spécifiées :
hVueIntersectionLignes communes à la <Première vue> et de la <Seconde vue>.
hVueJointureJointure de la première vue et de la seconde vue.
hVueSoustractionLignes de la <Première vue> sans les lignes communes avec la <Seconde vue>.
hVueUnionUnion de toutes les lignes de la <Première vue> et de la <Seconde vue>.
Les structures des vues doivent être identiques.
hVueUnionExUnion de toutes les lignes non communes de la <Première vue> et de la <Seconde vue>.
Les structures des vues doivent être identiques.
<Rubrique de tri de la première vue> : Chaîne de caractères
Nom de la rubrique à utiliser sur la première vue pour réaliser l'opération. Cette rubrique sera également utilisée pour trier la vue destination.
<Rubrique de tri de la seconde vue> : Chaîne de caractères optionnelle
Nom de la rubrique à utiliser sur la seconde vue pour réaliser l'opération. Si ce paramètre n'est pas précisé, il est égal à la valeur de <Rubrique de tri de la première vue>.
<Mode de création> : Constante ou combinaison de constantes optionnelle de type Entier
Paramètre le mode de création de la vue.
hVueAjouteConserve le contenu de la vue lors du prochain appel à la fonction HExécuteVue.
hVueBlocageLes enregistrements lus dans le fichier de données et intégrés à la vue sont bloqués.
hVueDéfautMode de création de vue par défaut.
hVueDifféréeLa vue est créée, mais sera exécutée en différé avec la fonction HExécuteVue.
hVueDistincteLa vue est créée avec élimination des doublons par rapport à la clé de tri.
hVueExclusiveOptimise le temps de création de la vue en bloquant directement tout le fichier de données source.
hVueInterruptibleLa création de la vue est interruptible au moyen de la touche ECHAP.
<Taille d'une page> : Entier optionnel
Nombre d'enregistrements par page (pour une vue utilisée par accès distant).
Remarques

Influence des rubriques de tri

Les rubriques de tri permettent de définir les rubriques sur lesquelles sera réalisée l'opération demandée. Ainsi, une opération d'intersection retournera tous les enregistrements de la première vue pour lesquels la rubrique <Rubrique de tri de la première vue> est égale à <Rubrique de tri de la seconde vue> pour au moins un enregistrement de la seconde vue.

Manipulation des rubriques de la vue après une jointure

Les rubriques issues d'une jointure sont nommées de la manière suivante :
  • si le nom de la rubrique existe dans une seule des vues source, ce nom de rubrique est conservé dans la jointure.
  • si le nom existe dans les 2 sources, la rubrique de la jointure correspondant à la rubrique de la seconde vue est renommée en "NomVue2_NomRubrique".
Dans tous les cas, il est également possible d'accéder aux rubriques de la jointure en utilisant la syntaxe suivante :
<Nom de la vue d'origine>_<Nom de la rubrique>
Exemples :
  • La vue1 nommée "VueClient" contient les rubriques : IDClient, IDCommande, Nom.
  • La vue2 nommée "VueCommande" contient les rubriques : IDCommande, Nom, Produit.
  • La jointure nommée "ClientCommande" est créée à partir des vues "VueClient" et "VueCommande" sur la rubrique "IDCommande". La vue "ClientCommande" contient les rubriques suivantes : IDClient, IDCommande, Nom, VueCommande_Nom, Produit.
    Accès à la rubrique :Syntaxe utilisée
    IDClientClientCommande.IDClient
    ou
    ClientCommande.VueClient_IDClient
    IDCommandeClientCommande.IDCommande
    ou
    ClientCommande.VueClient_IDCommande
    ou
    ClientCommande.VueCommande_IDCommande
    NomClientCommande.Nom
    ou
    ClientCommande.VueClient_Nom
    VueCommande_NomClientCommande.VueCommande_Nom
    ProduitClientCommande.Produit
    ou
    ClientCommande.VueCommande_Produit

Jointures : différences de résultat dans les recherches selon l'ordre des vues utilisées dans la jointure

Lors d'une jointure entre deux vues, l'index de la seconde vue est utilisé pour effectuer des recherches sur le résultat de la jointure. Le résultat de la recherche peut être différent selon les caractéristiques de l'index utilisé dans la jointure.
Exemple :
  • Caractéristiques de la rubrique clé MaRubrique dans la Vue1 : Recherches insensibles à la casse.
  • Caractéristiques de la rubrique MaRubrique dans la Vue2 : Recherches sensibles à la casse.
Une fusion est réalisée entre ces deux vues. Selon l'ordre des vues fusionnées, le résultat de la recherche sera différent :
  • HFusionneVue(Vue3, Vue1, Vue2) : la recherche est effectuée sur la vue2 : 15 enregistrements sont trouvés.
  • HFusionneVue(Vue3, Vue2, Vue1) : la recherche est effectuée sur la vue1 : 63 enregistrements sont trouvés.
WINDEVWEBDEV - Code ServeurHyper File 5.5

Hyper File 5.5

Pour manipuler une base de données au format Hyper File 5 avec la fonction HFusionneVue, vous devez réaliser la fusion avec la fonction HCréeVue_55.
Composante : wd290hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale