DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Les valeurs copiées
  • Utilisation des listes de rubriques
  • Rubriques Tableau
  • Erreurs n'entraînant pas de modification de l'enregistrement destination
  • Versions précédentes
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
HCopieEnreg (Fonction)
En anglais : HCopyRecord
ODBCNon disponible avec ce type de connexion
Copie :
  • le contenu de l'enregistrement en cours (chargé en mémoire) dans l'enregistrement en cours d'un fichier de données.
  • WINDEVWEBDEV - Code ServeurAndroidWidget AndroidJava le contenu d'une variable de type Enregistrement dans l'enregistrement en cours d'un fichier de données.
Le fichier de données d'origine et le fichier de données destination n'ont pas obligatoirement la même structure. Seules les données mémorisées du fichier de données destination sont modifiées. Le fichier de données destination ne sera modifié qu'à la sauvegarde de l'enregistrement en cours.
HLitPremier(Client, Nom)
TANTQUE HEnDehors(Client) = Faux
// Ajoute l'enregistrement dans le fichier de données Client2
HCopieEnreg(Client2, Client, hValDéfaut)
HAjoute(Client2)
// Passe à l'enregistrement suivant
HLitSuivant(Client, Nom)
FIN
// Copie des enregistrements du fichier de données Commande dans un fichier d'archive
Commande_2019 est une Source de Données
 
// Création du fichier d'archive
HAlias(Commande, Commande_2019)
HChangeNom(Commande_2019, "Commande_2019")
HCréation(Commande_2019)
 
// Archivage des commandes
POUR TOUT Commande AVEC DateCommande = "20190101" À "20191231"
// Ajoute l'enregistrement dans le fichier d'archive
HCopieEnreg(Commande_2019, Commande, hValDéfaut)
HAjoute(Commande_2019)
FIN
Syntaxe

Copier l'enregistrement en cours Masquer les détails

<Résultat> = HCopieEnreg(<Fichier de données destination> , <Fichier de données source> [, <Rubrique destination> [, <Rubrique source>]] [, <Options>])
<Résultat> : Booléen
  • Vrai si la copie a été effectuée,
  • Faux en cas d'erreur. La fonction HErreur permet d'identifier l'erreur.
<Fichier de données destination> : Chaîne de caractères
Nom du fichier de données destination à manipuler. Les données seront copiées vers l'enregistrement en cours de ce fichier de données.
<Fichier de données source> : Chaîne de caractères
Nom du fichier de données d'origine à manipuler. L'enregistrement en cours de ce fichier de données contient les informations à copier.
<Rubrique destination> : Chaîne de caractères optionnelle
Liste des rubriques du fichier de données destination à affecter avec les valeurs lues dans l'enregistrement en cours du fichier de données source. Les rubriques doivent être séparées soit par une virgule, soit par un retour chariot (RC).
Remarque : Les clés composées ne peuvent pas être des rubriques destination. Elles seront automatiquement affectées.
Hyper File 5.5 Ce paramètre n'est pas pris en compte.
<Rubrique source> : Chaîne de caractères optionnelle
Liste des rubriques du fichier de données source devant être copiées dans l'enregistrement en cours du fichier de données destination. Les rubriques doivent être séparées soit par une virgule, soit par un retour chariot (RC). Ces rubriques doivent être classées selon l'ordre de leur affectation dans les rubriques destination. Les clés composées doivent être exclues de cette liste.
Hyper File 5.5 Ce paramètre n'est pas pris en compte.
<Options> : Constante ou combinaison de constantes (optionnel)
Paramètre la copie des informations :
hCopieIDAutoCopie l'identifiant automatique en conservant sa valeur.
Remarque : L'utilisation de cette constante implique l'utilisation de la constante hFixeIDAuto dans la fonction HAjoute suivante.
hValDéfautLes rubriques de l'enregistrement destination non affectées par la copie sont initialisées avec leur valeur par défaut (définie sous l'éditeur d'analyses).

Si aucun paramètre n'est spécifié, l'identifiant automatique n'est pas copié et les rubriques de l'enregistrement destination non modifiées ne sont pas initialisées.
Hyper File 5.5 Ce paramètre n'est pas pris en compte.
WINDEVWEBDEV - Code ServeurAndroidWidget AndroidJava

Copier l'enregistrement présent dans une variable de type Enregistrement Masquer les détails

<Résultat> = HCopieEnreg(<Fichier de données destination> , <Enregistrement source> [, <Rubrique destination> [, <Rubrique source>]] [, <Options>])
<Résultat> : Booléen
  • Vrai si la copie a été effectuée,
  • Faux en cas d'erreur. La fonction HErreur permet d'identifier l'erreur.
<Fichier de données destination> : Chaîne de caractères
Nom du fichier de données destination à manipuler. Les données seront copiées vers l'enregistrement en cours de ce fichier de données.
<Enregistrement source> : Variable de type Enregistrement
Nom de la variable de type Enregistrement contenant les informations à copier.
<Rubrique destination> : Chaîne de caractères optionnelle
Liste des rubriques du fichier de données destination à affecter avec les valeurs lues dans l'enregistrement en cours du fichier de données source. Les rubriques doivent être séparées soit par une virgule, soit par un retour chariot (RC).
Remarque : Les clés composées ne peuvent pas être des rubriques destination. Elles seront automatiquement affectées.
Hyper File 5.5 Ce paramètre n'est pas pris en compte.
<Rubrique source> : Chaîne de caractères optionnelle
Liste des rubriques du fichier de données source devant être copiées dans l'enregistrement en cours du fichier de données destination. Les rubriques doivent être séparées soit par une virgule, soit par un retour chariot (RC). Ces rubriques doivent être classées selon l'ordre de leur affectation dans les rubriques destination. Les clés composées doivent être exclues de cette liste.
Hyper File 5.5 Ce paramètre n'est pas pris en compte.
<Options> : Constante ou combinaison de constantes (optionnel)
Paramètre la copie des informations :
hCopieIDAutoCopie l'identifiant automatique en conservant sa valeur.
Remarque : L'utilisation de cette constante implique l'utilisation de la constante hFixeIDAuto dans la fonction HAjoute suivante.
hValDéfautLes rubriques de l'enregistrement destination non affectées par la copie sont initialisées avec leur valeur par défaut (définie sous l'éditeur d'analyses).

Si aucun paramètre n'est spécifié, l'identifiant automatique n'est pas copié et les rubriques de l'enregistrement destination non modifiées ne sont pas initialisées.
Hyper File 5.5 Ce paramètre n'est pas pris en compte.
Remarques

Les valeurs copiées

Les rubriques dont le nom est commun aux deux enregistrements sont copiées (et converties si nécessaire).
Les rubriques de l'enregistrement source n'existant pas dans l'enregistrement destination ne sont pas copiées.
Les rubriques de l'enregistrement destination n'existant pas dans l'enregistrement source ne sont pas modifiées (sauf si la constante hValDéfaut est spécifié).
Lors de la copie d'une rubrique ayant pour valeur NULL, si le fichier de données destination ne supporte pas la valeur NULL, la rubrique copiée est simplement initialisée à vide (chaîne vide ("") pour les chaînes, et 0 pour les numériques).
Remarque : Lorsque les affectations se font entre rubriques de types différents, les conversions de type sont conformes à celles du WLangage.

Utilisation des listes de rubriques

La spécification de deux listes de rubriques permet d'affecter des rubriques de noms différents. Les affectations sont effectuées dans l'ordre d'apparition des rubriques dans les listes.
Si aucune des deux listes de rubriques n'est fournie, seules les rubriques dont le nom est commun aux deux enregistrements sont copiées.
Si seule la liste de rubriques cible (<Rubrique destination>) est fournie, seules les rubriques spécifiées seront copiées.

Rubriques Tableau

Lors de la manipulation de rubriques tableaux, la fonction HCopieEnreg copie le maximum d'éléments en commençant par le premier élément.
Si le tableau de l'enregistrement "source" contient plus d'éléments que le tableau de l'enregistrement "cible", les éléments supplémentaires de l'enregistrement "source" ne sont pas copiés.
Si le tableau de l'enregistrement "source" contient moins d'éléments que le tableau de l'enregistrement "cible", les éléments supplémentaires de l'enregistrement "cible" ne sont pas modifiés, sauf si la constante hValDefaut est spécifiée.
AndroidWidget Android Fonctionnalité non disponible.

Erreurs n'entraînant pas de modification de l'enregistrement destination

Les erreurs n'entraînant pas de modification de l'enregistrement destination sont les suivantes :
  • aucune liste n'est fournie et aucun nom de rubrique n'est commun aux deux fichiers de données.
  • la liste des rubriques d'un fichier de données contient un nom de rubrique inexistant dans ce fichier de données.
  • la liste des rubriques cible contient un nom de rubrique de type "clé composée".
  • la liste des rubriques cible contient un nom de rubrique de type "identifiant automatique" alors que la constante hCopieIDAuto n'est pas précisée.
  • deux listes de tailles différentes sont fournies.
WINDEV

Versions précédentes

Cette fonction remplace la fonction HCopieEnreg_55, conservée par compatibilité avec WINDEV 5.5.
Classification Métier / UI : Code métier
Composante : wd290hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 03/07/2023

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