DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Exemple 1 : Fusion de fichiers ayant partiellement la même structure
  • Exemple 2 : Recopier un enregistrement en conservant la valeur de son identifiant automatique
  • Exemple 3 : Recopier un enregistrement en conservant la valeur de son identifiant automatique
  • Exemple 4 : Recopier un enregistrement en utilisant des rubriques de nom différent
HCopieEnreg (Exemple)
Exemple 1 : Fusion de fichiers ayant partiellement la même structure
WINDEVWEBDEV - Code ServeurJavaCode Utilisateur (MCU)AjaxHFSQL ClassicHFSQL Client/ServeurHyper File 5.5 L'exemple suivant permet de fusionner les fichiers CLIENT et CLIENT2. Les caractéristiques de ces fichiers de données sont les suivantes :
  • les rubriques NOM, PRENOM sont des chaînes dans les deux fichiers de données
  • le code client CODECLI est un entier dans CLIENT.FIC
  • le code client CODECLI est une chaîne dans CLIENT2.FIC
  • la rubrique ADRESSE n'existe que dans CLIENT2
Après l'exécution de ce code, l'entier CODECLI du fichier CLIENT.FIC a été converti en chaîne dans le fichier CLIENT2.FIC selon les règles de conversion du WLangage. ADRESSE a été initialisée à sa valeur par défaut dans tous les enregistrements recopiés dans CLIENT2.
// Visualiser le nombre d'enregistrements dans CLIENT2.FIC
Trace(HNbEnr(CLIENT2))
 
HLitPremier(CLIENT, NOM)
// Parcourir les enregistrements du fichier CLIENT.FIC
TANTQUE PAS HEnDehors(CLIENT)
// Ajouter l'enregistrement dans le fichier CLIENT2
HCopieEnreg(CLIENT2, CLIENT, hValDéfaut)
HAjoute(CLIENT2)
 // Visualiser le nouveau nombre d'enregistrements
Trace(HNbEnr(CLIENT2))
// Passer à l'enregistrement suivant
HLitSuivant(CLIENT, NOM)
FIN
Exemple 2 : Recopier un enregistrement en conservant la valeur de son identifiant automatique
WINDEVWEBDEV - Code ServeurJavaCode Utilisateur (MCU)AjaxHFSQL ClassicHFSQL Client/ServeurHyper File 5.5 Le code suivant permet de copier un enregistrement du fichier CLIENT vers le fichier CLIENT2. Ces deux fichiers de données contiennent trois rubriques communes :
  • NOM, PRENOM sont des chaînes de caractères dans les 2 fichiers de données,
  • le code client CODECLI est l'identifiant automatique dans les deux fichiers de données.
L'enregistrement du client Dupond présent dans le fichier CLIENT doit être recopié dans le fichier CLIENT2. L'utilisation de la fonction HModifie permet de conserver l'identifiant automatique (la fonction HAjoute aurait généré un nouvel identifiant automatique, et donc n'est pas utilisée dans cet exemple).
HLitRecherchePremier(CLIENT, "Dupond")
HCopieEnreg(CLIENT2, CLIENT, hCopieIDAuto + hValDéfaut)
HModifie(CLIENT2) // HModifie conserve l'identifiant automatique
Exemple 3 : Recopier un enregistrement en conservant la valeur de son identifiant automatique
WINDEVWEBDEV - Code ServeurJavaCode Utilisateur (MCU)AjaxHFSQL ClassicHFSQL Client/ServeurHyper File 5.5 Le code suivant permet de copier tous les enregistrements du fichier CLIENT vers le fichier CLIENTBIS.
L'identifiant automatique est recopié et sa valeur est conservée lors de l'ajout (paramètre hFixeIdAuto dans la fonction HAjoute).
// Transfert des enregistrements du fichier 'CLIENT' vers le fichier 'CLIENTBIS'
EXTERNE CLIENTBIS
HAlias(CLIENT, "CLIENTBIS")
HCréationSiInexistant("CLIENTBIS")
HLitPremier(CLIENT, CLCLEUNIK)
TANTQUE PAS HEnDehors(CLIENT)
HCopieEnreg(CLIENTBIS, CLIENT, hCopieIDAuto)
HAjoute(CLIENTBIS, hFixeIDAuto)
HLitSuivant(CLIENT, CLCLEUNIK)
FIN
Exemple 4 : Recopier un enregistrement en utilisant des rubriques de nom différent
WINDEVWEBDEV - Code ServeurJavaCode Utilisateur (MCU)AjaxHFSQL ClassicHFSQL Client/ServeurHyper File 5.5 Le code suivant permet de copier un enregistrement du fichier CLIENT vers le fichier CLIENT2. Les caractéristiques de ces fichiers de données sont les suivantes :
  • NOM, PRENOM sont des chaînes dans les deux fichiers de données,
  • IDAUTO est l'identifiant automatique dans les deux fichiers de données,
  • le code client CODECLI est un entier et n'existe que dans CLIENT,
  • la rubrique ADRESSE n'existe que dans CLIENT2,
  • la rubrique IDENTIFIANTCLIENT est une chaîne et n'existe que dans CLIENT2.
Cet exemple a pour but :
  • la copie du fichier CLIENT dans le fichier CLIENT2 en recopiant le code client CODECLI dans IDENTIFIANTCLIENT.
  • la conservation de la valeur de l'identifiant automatique IDAUTO.
  • l'initialisation de l'adresse ADRESSE par sa valeur par défaut.
HCréation(CLIENT2)
HLitPremier(CLIENT, NOM)
// Parcourir les enregistrements du fichier CLIENT.FIC
TANTQUE PAS HEnDehors(CLIENT)
// Ajouter l'enregistrement dans le fichier CLIENT2
  HCopieEnreg(CLIENT2, CLIENT, ...
"NOM, PRENOM, IDAUTO, CODECLI", ...
"NOM, PRENOM, IDAUTO, IDENTIFIANTCLIENT", ...
hValDéfaut + hCopieIDAuto)
HModifie(CLIENT2)
// Passer à l'enregistrement suivant
HLitSuivant(CLIENT, NOM)
FIN
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