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
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
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'une table.
  • WINDEVWEBDEV - Code ServeurAndroidWidget AndroidJava le contenu d'une variable de type Enregistrement dans l'enregistrement en cours d'une table. La table d'origine et la table destination n'ont pas obligatoirement la même structure. Seules les données mémorisées de la table destination sont modifiées. La table destination ne sera modifiée qu'à la sauvegarde de l'enregistrement en cours.
HLitPremier(Client, Nom)
TANTQUE HEnDehors(Client) = Faux
	// Ajoute l'enregistrement dans la table Client2
	HCopieEnreg(Client2, Client, hValDéfaut)
	HAjoute(Client2)
	// Passe à l'enregistrement suivant
	HLitSuivant(Client, Nom)
FIN
// Copie des enregistrements de la table 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ée(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(<Table destination> , <Table 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.
<Table destination> : Chaîne de caractères
Nom de la table destination à manipuler. Les données seront copiées vers l'enregistrement en cours de cette table.
<Table source> : Chaîne de caractères
Nom de la table d'origine à manipuler. L'enregistrement en cours de cette table contient les informations à copier.
<Rubrique destination> : Chaîne de caractères optionnelle
Liste des rubriques de la table destination à affecter avec les valeurs lues dans l'enregistrement en cours de la table 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 de la table source devant être copiées dans l'enregistrement en cours de la table 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 de schémas des données).

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(<Table 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.
<Table destination> : Chaîne de caractères
Nom de la table destination à manipuler. Les données seront copiées vers l'enregistrement en cours de cette table.
<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 de la table destination à affecter avec les valeurs lues dans l'enregistrement en cours de la table 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 de la table source devant être copiées dans l'enregistrement en cours de la table 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 de schémas des données).

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 la table 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 tables.
  • la liste des rubriques d'une table contient un nom de rubrique inexistant dans cette table.
  • 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: wd300hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 27/03/2025

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