PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Annuler un alias
Annuler un alias
Iniciado por Tristan, 26,may. 2020 14:03 - 2 respuestas
Miembro registrado
33 mensajes
Publicado el 26,mayo 2020 - 14:03
Bonjour,

j'ai une base de donnée HFSQL C/S, dans laquelle il y a deux tables :
- "AgendaEvénement"
- "Pointage"

Les deux tables sont liées ("IDAgendaEvénement" dans chaque enregistrement "Pointage").
Avec règle de suppression en cascade.

j'ai voulu essayé de créer un alias pour faire 2 recherches différentes sur un même fichier de données ("AgendaEvénement").

J'ai effacé mon code depuis mais cela devait ressembler à ça :

agenda_rdvcopie est une Source dede Données
HAlias(AgendaEvénement,agenda_rdvcopie )
HChangeNom(agenda_rdvcopie ,AgendaEvénement.NomPhysique)


Cela ne fonctionnait pas donc j'ai trouvé une autre solution, j'ai donc effacé le code pour l'alias et j'ai aussi supprimé les fichier dans ma base de donnée HFSQL C/S (directement par le contre de contrôle) que la fonction HALIAS avait créé (ça devait ressembler à source_agenda_rdvcopie_1 ...)

Depuis, lorsque j'essaye de supprimer un élément dans "Pointage", cela me sort ce message d'erreur :

Erreur renvoyée par le serveur  :
Erreur d'intégrité.
Impossible d'ouvrir le fichier Gestion\_source_agenda_rdvcopie_3.fic

Détail de l'erreur système :

Le fichier spécifié est introuvable.


Pile des appels :
Procédure locale Supprime_Pointage_Journalier (FI_PLANNING.PROCEDURE.Supprime_Pointage_Journalier), ligne 22
Suppression d'un rendez-vous de PLN_Employe (FI_PLANNING.FI_PLANNING.PLN_Employe), ligne 10

Date : 26/05/2020 13:53:48
Projet : Gestion (20.00Cu)

Informations supplémentaires :
Code erreur : 70003
Code erreur WD55 : 3
Message d'erreur système :
Le fichier spécifié est introuvable.
Module : 'WDHFSRV64.DLL (01F250083h - 25.0.120.0)
Informations de débogage :
##(IXStream)-Handle=##
Fonction (7,21)
EIT_TYPE_WDFILE : <8>
EIT_IDCODE : <458752>
EIT_SRCFILE : 
EIT_SERVEURCS : 
EIT_LOGICALTABLENAME : 


J'ai l'impression que la liaison entre les deux tables se font maintenant entre la table "Pointage" et la copie qui avait été créé par la fonction HALIAS.
Hors je n'arrive pas à faire marche arrière.

J'ai essayé de supprimer et recréer la liaison entre les deux tables
J'ai essayé de refaire le code en marche arrière

Mais rien n'y fait.

Auriez vous une idée pour me venir au aide svp ?

Merci.
Miembro registrado
953 mensajes
Publicado el 26,mayo 2020 - 14:30
Bonjour Tristan,

attention avec les liaisons... et les alias.....
Windev va générer des liens auto entre vos alias, et les fichiers liés dans votre analyse, il peu faire des liens croisé qui du coup peuvent générer pas mal de soucis !!
J'évite maintenant la création de liens dans l'analyse.

pour votre soucis, lancer le Centre de Contrôle HF sur votre base de données. Supprimez les alias que vous ne souhaitez plus, mais aussi les liaisons que le serveur aura créé, dans l'onglet 'Liaisons'.


Pour revenir à votre problématique de base, n'utilisez pas d'alias !

Vous pouvez très bien faire deux requêtes sur le même fichier, çà vous facilitera la tâche...

Exemple :
_req_1 est une chaîne="SELECT * FROM AgendaEvénement WHERE "// Ajoutez le ou les critères de votre choix
_req_2 est une chaîne="SELECT * FROM AgendaEvénement WHERE "// Ajoutez le ou les critères de votre choix
_result_1 est une Source dede Données<Description=AgendaEvénement>
_result_2 est une Source dede Données<Description=AgendaEvénement>

SI PAS HExécuteRequêteSQL(_result_1,hRequêteDéfaut,_req_1) ALORS Erreur(ErreurInfo())
SI PAS HExécuteRequêteSQL(_result_2,hRequêteDéfaut,_req_2) ALORS Erreur(ErreurInfo())

// Vous pouvez parcourir vos deux requêtes avec les fonctions HLitxxx()

HAnnuleDéclaration(_result_1)
HAnnuleDéclaration(_result_2)



Bon dèv ;)
Miembro registrado
33 mensajes
Publicado el 26,mayo 2020 - 15:07
Merci j'ai effectivement créé une deuxième requête et j'ai réussi à supprimer les liaison dans le centre de contrôle.

Je pensais que cela serait plus simple par un alias étant donnée que je n'utilise cette requête que dans une fenêtre, mais vous avez raison, la gestion des alias n'est vraiment pas aisé.

Merci et à bientôt.