PC SOFT - Documentation en ligne
Version : 18.0
Communauté : 0 annotation | Annoter Flux RSS
Cette page est également disponible pour : WINDEV Mobile, WINDEV, WEBDEV
Version affichée :
HRaye (Fonction)
En anglais : HCross

 
WinDev WebDev - Code Serveur WebDev - Code Navigateur WinDev Mobile Etats et Requêtes   Windows Linux Windows Mobile Windows Phone Android Widget Android iPhone/iPad Windows Store apps   Java PHP Ajax Code Utilisateur (MCU) Langage Externe   HyperFileSQL HyperFileSQL Client/Serveur Procédures stockées Hyper File 5.5 OLE DB ODBC Accès Natifs

Raye un enregistrement d'un fichier de données. L'enregistrement est supprimé logiquement et pourra éventuellement être récupéré.

Les opérations effectuées sont les suivantes :

  • l'enregistrement est rendu inactif. Les données sont conservées (ce qui n'est pas le cas lors de la suppression d'un enregistrement avec la fonction HSupprime).
  • les index (correspondant aux clés de l'enregistrement) sont supprimés du fichier d'index.
  • les mémos associés à l'enregistrement sont conservés.
Cette fonction peut être utilisée indifféremment avec les fichiers de données, les vues HyperFileSQL Mobile ou les requêtes.

Versions 17 et supérieures
WinDev Mobile iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 17
WinDev Mobile iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WinDev Mobile iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 18 et supérieures
WinDev WinDev Mobile Windows Store apps Cette fonction est désormais disponible en mode Windows Store apps.
Nouveauté 18
WinDev WinDev Mobile Windows Store apps Cette fonction est désormais disponible en mode Windows Store apps.
WinDev WinDev Mobile Windows Store apps Cette fonction est désormais disponible en mode Windows Store apps.
 

// Raye l'enregistrement numéro 123
HRaye(Client, 123)

// Suppression (rayure) des commandes d'un client
HLitRecherchePremier(COMMANDE, NUMCLI, ValNumCli)
TANTQUE HTrouve() = Vrai
        HRaye()
        HLitSuivant()
FIN

<Résultat> = HRaye([<Nom du fichier> [, <Numéro d'enregistrement> [, <Options>]]])

<Résultat> : Booléen
  • Vrai si l'enregistrement a été rayé,
  • Faux en cas d'erreur (enregistrement bloqué, problème d'intégrité, ...). La fonction HErreurInfo permet d'obtenir plus de détails.
<Nom du fichier> : Chaîne de caractères optionnelle (avec ou sans guillemets)
Nom du fichier de données HyperFileSQL, de la requête ou de la vue manipulé.
Si ce paramètre correspond à une chaîne vide (""), la fonction HRaye manipule le dernier fichier de données utilisé par la dernière fonction de gestion HyperFileSQL (fonction commençant par la lettre H).
<Numéro d'enregistrement> : Entier optionnel
Numéro de l'enregistrement à rayer.
Si ce paramètre n'est pas précisé (est égal à 0 ou à la constante hNumEnrEnCours), l'enregistrement en cours sera rayé.
<Options> : Constante optionnelle
Paramètre :

  • le blocage de l'enregistrement rayé. Si aucune constante de blocage n'est spécifiée, l'enregistrement rayé n'est pas bloqué.
hBlocageNon
(valeur par défaut)
Aucun blocage : l'enregistrement rayé ne sera pas bloqué.
hBlocageEcritureBlocage en écriture : l'enregistrement rayé en cours pourra être lu et consulté (fonction HLit) par une autre application mais ne pourra pas être ré-activé par une autre application. Seule l'application en cours pourra le ré-activer.
hBlocageLectureEcritureBlocage en lecture/écriture : l'enregistrement rayé en cours ne pourra ni être consulté ni être ré-activé par une autre application.

Windows Mobile La gestion des blocages est réalisée uniquement sur les fichiers de données HyperFileSQL Client/Serveur ou manipulés par un Accès Natif. Il n'est pas possible de bloquer un enregistrement HyperFileSQL Mobile. En effet, le système d'exploitation du Pocket PC ne permet pas de bloquer des enregistrements.

  • la gestion de l'intégrité sur l'enregistrement rayé.
hIgnoreIntégritéIgnore le contrôle d'intégrité sur cette opération, même si le contrôle de l'intégrité automatique est branché (fonction HGèreIntégrité).
hVérifieIntégritéContrôle l'intégrité de l'opération même si le contrôle de l'intégrité automatique est débranché (fonction HGèreIntégrité).

Si les deux constantes sont utilisées en même temps, une erreur WLangage est générée. Ces constantes n'ont pas d'effet sur la suppression en cascade.

Manipulations d'un enregistrement rayé

Nombre d'enregistrements rayés

La fonction HNbEnr permet de connaître le nombre d'enregistrements rayés dans le fichier de données.

Remarque : Par compatibilité avec WebDev 1.5 / WinDev 5.5, il est aussi possible de connaître le nombre d'enregistrements rayés grâce à la variable h.NbSup.

Version du fichier de données

En cas de succès de la fonction HRaye, le numéro de version du fichier de données est modifié. Ce numéro de version est donné par la fonction HVersion.

Rayer un enregistrement à partir d'une requête

Il est possible de rayer un enregistrement :
  • soit uniquement dans le résultat de la requête.
  • soit directement dans les fichiers manipulés par la requête (constante HModifieFichier utilisée dans les fonctions HExécuteRequête ou HExécuteRequêteSQL). Dans ce cas, la constante hAvecFiltre est automatiquement sélectionnée.
Quel que soit le mode d'exécution de la requête (avec ou sans la constante hAvecFiltre), la fonction HRaye n'est utilisable que sur les requêtes mono-fichier.

Attention :

  • Il est impossible de rayer un enregistrement dans une requête utilisant les groupes ou les agrégats.
  • La gestion de l'intégrité et des doublons n'est pas réalisée lors d'opérations sur les requêtes multi-fichiers : il est conseillé d'utiliser les transactions pour éviter tout problème.

Cas particuliers

  • Gestion des blocages :
Si un problème de blocage apparaît lors de la "rayure" d'un enregistrement (tentative de rayure d'un enregistrement bloqué en écriture par exemple), l'enregistrement n'est pas modifié et la fonction HErreurBlocage renvoie Vrai.

Windows Mobile Aucune gestion des blocages n'est réalisée. En effet, le système d'exploitation du Pocket PC ne permet pas de bloquer des enregistrements.

  • Gestion de l'intégrité référentielle
Si la gestion de l'intégrité référentielle est active (fonction HGèreIntégrité), et si l'intégrité n'est pas vérifiée lors de la suppression, la fonction HRaye n'est pas exécutée. Il est nécessaire de tester la fonction HErreurIntégrité après la fonction HRaye.
  • Enregistrements supprimés
La fonction HRaye ne doit pas être appelée sur un enregistrement précédemment supprimé.
WinDev WebDev - Code Serveur Ajax Procédures stockées Accès Natifs

Fichiers xBase

La fonction HSupprime a le même effet que la fonction HRaye : l'enregistrement est rayé et non supprimé. L'enregistrement peut donc être réactivé par la fonction HModifie. Dans ce cas, la fonction HEtat renvoie la constante hEtatRaye sur un enregistrement supprimé (et non la constante hEtatSup).

 
Composantes :
WinDev WebDev - Code Serveur wd180hf.dll
Linux wd180hf.so
Windows Mobile wp180hf.dll
 
 
Version minimum requise : 9
Communauté : 0 annotation Flux RSS
Connectez-vous pour ajouter une annotation | Conditions Générales du service d'annotations