PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
HCréeVue_55 (Fonction)
En anglais : HCreateView_55
HFSQLDisponible uniquement avec ce type de connexion
La fonction HCréeVue_55 est équivalente à la fonction HCréeVue de WINDEV 5.5.
Cette fonction est conservée uniquement pour compatibilité (cette fonction sera encore supportée dans la prochaine version).
En version 8, la fonction HCréeVue a évolué, et permet notamment de donner un nom explicite à la vue.
Pour bénéficier de ces nouveautés, utilisez la nouvelle syntaxe de la fonction HCréeVue.
Voici la documentation disponible dans WINDEV 5.5.
Attention : Lorsqu'une vue est créée avec la fonction HCréeVue_55, la création d'un contexte indépendant n'est pas possible. Pour plus de détails sur les contexte indépendants, consultez Gestion des contextes Hyper File dans les fenêtres et les états.
 
But
Créer une vue sur un fichier Hyper File.
Syntaxe
  • Syntaxe 1 : Créer une vue sur la totalité des rubriques d'un fichier Hyper File
    <IdentifiantVue>= HCréeVue_55(<Nom_Fichier>)
    • <IdentifiantVue> est un entier long qui permet d'identifier la vue.
    • <NomFichier> est une chaîne de caractères qui contient le nom du fichier Hyper File de base de la vue.
  • Syntaxe 2 : Créer une vue sur une sélection de rubriques d'un fichier Hyper File
    <IdentifiantVue>= HCréeVue_55(<Nom_Fichier>,<Rubriques> [,<RubriqueTri> [,<ConditionSelection> [,<ModeCreation> ,<TaillePage>]]]])
    • <IdentifiantVue> est un entier long qui permet d'identifier la vue.
    • <NomFichier> est une chaîne de caractères qui contient le nom du fichier Hyper File de base de la vue.
    • <Rubriques> est une chaîne qui contient la liste des rubriques de la vue. Les rubriques sont séparées par une virgule (",").
    • <RubriqueTri> est une chaîne de caractères contenant :
      • soit le nom de la rubrique de tri initial de la vue. Le sens du tri peut être précisé en préfixant la chaîne par "+" ou "-". Par défaut, le tri est croissant ("+").
      • soit un entier représentant l'indice de la rubrique de tri parmi les rubriques "virtuelles" de la vue.
    • <ConditionSelection> est une chaîne de caractères qui contient les conditions de sélection des enregistrements. Pour ne donner aucune condition de sélection, il suffit d'utiliser une chaîne vide.
    • <ModeCreation> est un entier correspondant à une combinaison des constantes du WLangage suivantes :
      • hVueBlocage bloque les enregistrements lus dans le fichier
      • hVueDiffere exécute la vue en différé avec HExécuteVue
      • hVueExclusive optimise le temps de création de la vue en monoposte
      • hVueAjoute conserve le contenu de la vue au prochain HExécuteVue
      • hVueDistinct élimine les doublons par rapport à la clé de tri ou un numéro d'enregistrement
    • <TaillePage> est un entier indiquant le nombre d'enregistrements par page pour une vue distante (en cas d'accès distant).
  • Syntaxe 3: Créer une vue à partir de deux vues de même structure
    <IdentifiantVue>=HCréeVue_55(<IdentifiantVueA>, <IdentifiantVueB>,<TypeOpération> ,<Rubrique>)
    • <IdentifiantVue> est un entier long qui permet d'identifier la vue résultat.
    • <IdentifiantVueA> est un entier long qui permet d'identifier une vue.
    • <IdentifiantVueB> est un entier long qui permet d'identifier une vue.
    • <TypeOpération> est une constante du WLangage :
      • hVueUnion union de toutes les lignes des vues A et B
      • hVueUnionex union de toutes les lignes non communes des vues A et B
      • hVueIntersection lignes communes à A et B
      • hVueSoustraction lignes de A - les lignes communes avec B
      • hVueJointure Jointure entre 2 vues ( Seul cas ou les vues peuvent ne pas avoir la même structure)
    • <Rubrique> est une chaîne indiquant la rubrique de tri, utilisée pour réaliser l'opération entre les deux vues. Elle contient :
      • soit le nom de la rubrique de tri de la vue.
      • soit l'indice de la rubrique de tri parmi les rubriques "virtuelles" de la vue.
      Le sens du tri peut être précisé en préfixant la chaîne par "+" ou "-". Par défaut, le tri est croissant ("+").
Détail
Une vue Hyper File peut être comparée à un fichier Hyper File "virtuel": le fichier n'est pas physiquement stocké sur disque, mais peut être utilisé pratiquement comme un fichier Hyper File "réel".
La création d'une vue est une opération de lecture des fichiers. Elle peut éventuellement être accompagnée d'une opération de blocage des enregistrements lus, si des modifications sur des enregistrements sont prévues.
La fonction HCréeVue_55 retourne un entier long. C'est l'identificateur de la vue, l'équivalent d'un handle de fichier. En cas d'erreur lors de la création d'une vue, hCreeVue_55 retourne 0.
Détail de <RubriquesVirtuelles> :
Si aucune rubrique du fichier principal n'est décrite, toutes les rubriques du fichier principal sont prises en compte.
La virgule est utilisée comme séparateur entre deux descriptions de rubrique.
La chaîne <RubriquesVirtuelles> doit avoir le format suivant (l'assistant de saisie de source construit automatiquement cette chaîne) :
"<UneRubrique> , <UneRubrique> , ..."
Types de rubriques non gérés :
  • Les rubriques de type "clés composées" ne sont pas utilisables dans une vue.
  • Les rubriques de type "tableau" ne peuvent pas être utilisées
  • Les rubriques et les fichiers à noms longs sont gérés.
Détail de <ConditionsSelection> :
Une condition de sélection utilise la syntaxe suivante :
"NomCli>'Dupont' et CodePos=34 ou CodePos=32"
Les opérateurs acceptés sont les suivants :
Opérateur
Signification
Application
<>DifférentValable pour tous les types
>Plus grandValable pour tous les types
>=Plus grand ou égalValable pour tous les types
<Plus petitValable pour tous les types
<=Plus petit ou égalValable pour tous les types
=Strictement égalValable pour tous les types
~=Environ égalValable pour les types chaîne (ignore les espaces à droite)
]ContientValable pour les types chaîne uniquement
]=Commence parValable pour les types chaîne uniquement
Une condition de sélection est une chaîne du type <Expression> où expression est de la forme :
<Facteur> [<Ou/Et> <Expression>]
avec <Facteur> : <ItemSimple> <Opérateur><ItemSimple>
ou <Non> <Facteur>
ou (<Expression>)
avec <Opérateur> : Un opérateur accepté, cité ci-dessus
avec <ItemSimple> : <NomRubrique>
ou <ConstanteNumérique>
ou <'ConstanteChaîne'>
Attention :
  1. <NomRubrique> ne doit comporter que des lettres, des chiffres et des caractères soulignés ("_"), sinon il faut ajouter des doubles quotes : <"Nom Rubrique avec autres caractères">
  2. Si la chaîne à tester dans la condition de sélection contient un apostrophe, il est nécessaire de remplacer l'apostrophe par \'
  3. Les chaînes "constante" doivent être encadrées de simples quotes.
  4. Ne peuvent pas faire partie d'une condition de sélection :
    • Les mémos binaires
    • Les rubriques indicées et les rubriques de type "Tableau"
Détail de <ModeCreation> :
Le mode de lecture est une combinaison de constantes qui permet de décrire comment la vue sera construite. Les constantes autorisées sont les suivantes :
  • hVueBlocage pour bloquer les enregistrements lus dans le fichier
  • hVueDiffere pour exécuter la vue en différé avec HExecuteVue
  • hVueExclusive pour optimiser le temps de création de la vue en monoposte
  • hVueAjoute conserve le contenu de la vue au prochain HExecuteVue
  • hVueDistinct élimine les doublons par rapport à la clé de tri ou un numéro d'enregistrement
Notes
Attention : Si la fonction HCréeVue_55 est utilisée lors du parcours d'un fichier pour créer une vue sur ce même fichier, le parcours peur être altéré. Dans ce cas, il est préférable d'utiliser les fonctions HSauvePosition et HRetourPosition.
  • Code à ne pas utiliser :
    HLitPremier(Fichier, Clé) // Premier enregistrement selon la clé
    HCréeVue_55(Fichier, ...)
    HLitSuivant(Fichier, Clé) // Danger :
    // Ce n'est pas obligatoirement le second enregistrement lu suivant la clé
  • Code conseillé :
    HLitPremier(Fichier, Clé) // Premier enregistrement selon la clé
    Num = HSauvePosition(Fichier)
    HCréeVue_55(Fichier,...)
    HRetourPosition(Num)
    HLitSuivant(Fichier, Clé)
Les types comparables sont :
  • tous les numériques entre eux (y compris les monétaires)
  • toutes les chaînes entre elles (asciiz, basic, pascal, mémos texte)
Toutes les rubriques du fichier principal peuvent faire partie de la condition, même celles qui ne font pas partie des rubriques virtuelles.
La condition est appliquée à chaque enregistrement virtuel avant de l'inclure dans la vue. Ainsi, il n'est pas possible d'indiquer plusieurs conditions exclusives entre elles pour un même enregistrement (jointure). Par exemple :
  • "Date='1997' et Date='1996'", ne donne aucun résultat
  • "Date>='1996' et Date<='1997', donne tous les enregistrements entre 1996 et 1997.
Les comparaisons entre chaînes se font en fonction de la valeur ASCII des caractères et non d'une façon lexicographique. Attention : 'a' > 'Z'
Les constantes numériques sont réelles si elles comportent une partie décimale (ex : 100.0)
Une vue ne peut avoir une taille supérieure à : 16Mo - 64 Ko (16Mo moins 64 Ko).
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire