- WinDev
- Decompiler windev - <a href="https://forums.commentcamarche.net/forum/windev-341">Forum Windev</a>
- Decompiler - <a href="https://forums.commentcamarche.net/forum/programmation-3">Forum Programmation</a>
- [WinDev] exécutable auto-extractible - <a href="https://forums.commentcamarche.net/forum/windev-341">Forum Windev</a>
- Acam windev - <a href="https://forums.commentcamarche.net/forum/windev-341">Forum Windev</a>
- [SQL-WINDEV] Problème LEFT JOIN - <a href="https://forums.commentcamarche.net/forum/windev-341">Forum Windev</a>
75 réponses
- 1
- 2
- 3
- 4
La problématique centrale est de savoir comment enlever l'intégrité référentielle d'une liaison dans un MCD sous Windev et des difficultés liées à la gestion des contraintes d'intégrité. Des solutions essentielles indiquent d'utiliser la fonction HGèreIntégrité pour activer ou désactiver la gestion d'intégrité sur une liaison, en précisant le nom de la liaison et le fichier et en choisissant les contraintes à modifier. En cas de conversion de type entre numérique et chaîne, il peut être nécessaire d'ajuster les types de champs ou d'implémenter des conversions explicites, car cela peut empêcher l'application des contraintes. Des conseils pratiques recommandent aussi d'ouvrir les fichiers liés avant d'effectuer des opérations et d'explorer les options HyperFile plutôt que des requêtes externes.
tu peux aussi le gérer par programmation avec la fonction : HGèreIntégrité(...)
HGèreIntégrité
Utilisation
Active ou désactive la gestion d'une contrainte d'intégrité sur une liaison d'un fichier.
Remarque : Par défaut, toutes les règles d'intégrité définies dans la description de l'analyse sont actives.
// Désactiver le test des cardinalités sur la liaison entre
// une commande et un client
HGèreIntégrité(ClientCommande,hCardinalite,Faux)
Syntaxe
<Résultat> = HGèreIntégrité([<Nom de la liaison>, [<Nom du Fichier>,]] [<Contrainte d'intégrité>,] <Gestion>)
Détail des paramètres
<Résultat> : Booléen
Correspond à l'ancienne gestion de l'intégrité (avant modification).
Si la chaîne de caractères "*" a été utilisée pour les paramètres <Nom de la liaison> et / ou <Nom du fichier> , <Résultat> est à Vrai si une des gestion d'intégrité était activée.
<Nom de la liaison> : Chaîne de caractères optionnelle (avec ou sans guillemets)
Nom de la liaison concernée (nom composé des différents fichiers participant à la liaison). Si ce nom n'est pas spécifié ou est égal à "*", la nouvelle gestion de l'intégrité s'applique à toutes les liaisons définies dans l'analyse.
<Nom du fichier> : Chaîne de caractères optionnelle (avec ou sans guillemets)
Nom du fichier manipulé. Si ce nom n'est pas spécifié ou est égal à "*", la nouvelle gestion spécifiée s'applique à tous les fichiers intervenant dans la liaison (y compris les alias).
<Contrainte d'intégrité> : Constante ou combinaison de constantes optionnelle de type Entier
Permet de déterminer les contraintes d'intégrité à gérer. Si ce paramètre n'est pas spécifié, la nouvelle gestion s'applique à toutes les contraintes de la liaison.
hCardinalité
Test des cardinalités de la liaison.
hEnModification
Règle d'intégrité appliquée pendant une modification.
hEnSuppression
Règle d'intégrité appliquée pendant une suppression.
<Gestion> : Booléen
Vrai si la contrainte d'intégrité est activée, Faux si cette gestion doit être désactivée. Si seul ce paramètre est précisé, le mode de gestion spécifié s'applique à tous les fichiers.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionDe cette façon, si tu as une question, tu continue la discussion et ta question me parviendra directement en email.
A+
La relation pour laquelle je veux supprimer l'integrité référentielle dois-je la définir au préalable en tant que description de liaison?
Merci,
Yulie
Toi, Toi mon Toit...
Maliaison est une description de liaison
avant d'écrire
HGèreIntégrité(Maliaison, hCardinalité, Faux)
?
Merci
Toi, Toi mon Toit...
si ta liaison existe dans ton analyse, lorsque tu vas écrire ta fonction, windev va directement te proposé une liste de liaisons existantes dans laquelle tu choisis....
tu travailles avec quelle version de windev ?
mais quand je ne mets pas Maliaison est un Description de liaison avant et que je ne mets pas HGèreIntegrité("Maliaison", "*", hCardinalité, Faux)
il me donne une erreur de compilation...
Toi, Toi mon Toit...
il faut bien sur lui donner un nom de liaison existante...
Si tu veux connaitre le nom de ta liaison, ouvre ta fenetre d'analyse, double clic sur ta liaison : son nom est inscrit dans la barre grise tout en haut.
HGèreIntégrité(Faux)
dans ce cas, tu annules l'intégrité de toutes les liaisons en même temps. Tu fais ton traitement puis tu les réactives avec :
HGèreIntégrité(Vrai)
Bon, je vais faire des essais et je pense que je vais voir si je peux ajouter l'integrite referentielle, après tout, si les utilisateurs n'en ont pas particulièrement besoin...
En tout cas je te remercie pour m'avoir aidé et m'avoir consacré un peu de ton temps...
A bientôt pour de nouveaux problèmes... (à la fin de mon stage je vais devenir une pro de WinDev ;-) )
Allez, bonne journée!
Yulie
Toi, Toi mon Toit...
EXTERN MaLiaison
HGèreIntégrité(MaLiaison, hCardinalité, Faux)
cela devrait fonctionner
Toi, Toi mon Toit...
Il ne me reste plus qu'à pleurer toutes les larmes de mon corps... Je crois que je vais faire appel à mon prof... Peut-être qi'il me répondra s'il n'a pas trop de travail et s'il connait plus de WinDev que ce qu'il nous a montré... ;-)
Si il me répond je te dis pourquoi ca marche pas...
A+,
Yulie
Toi, Toi mon Toit...
- 1
- 2
- 3
- 4