IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

HyperFileSQL Discussion :

Peut-on et comment r�cup�rer le nom d'une rubrique d'un fichier de donn�es?


Sujet :

HyperFileSQL

  1. #1
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    125
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 125
    Par d�faut Peut-on et comment r�cup�rer le nom d'une rubrique d'un fichier de donn�es?
    Bonjour � toutes et � tous,

    Je commence � m'essayer aux "Trigger serveur" en essayant de cr�er un fichier "LOG" qui enregistre toutes les modifications apport�es au fichier de donn�es "PRODUIT".

    J'ai d�clar� HD�critTriggerServeur dans l'initialisation de mon projet.
    Dans l'analyse j'ai cr�� une proc�dure stock�e et un trigger avant.
    J'arrive � enregistrer dans le fichier LOG la date, l'heure, l'ID du produit d�s que j'effectue une modification ou pas d'ailleurs(juste tentative). Autre chose, la modification est enregistr�e deux fois???
    Je pense qu'il faut que je r�cup�re le nom de la rubrique modifi� pour r�cup�rer la valeur avant la modification pour les sauvegarder et pouvoir retrouver si besoin ses valeurs. Sachant que cette valeur peut �tre variable.

    C'est donc l� que je ne sais pas si c'est possible (bien qu'avec la fonction HListeRubrique on puisse r�cup�rer la liste des rubriques, il doit bien �tre possible de r�cup�rer le nom de la rubrique modifi�e) et comment proc�der.

    J'ai quand m�me essay� des choses mais sans succ�s.

    Voici ou j'en suis pour l'instant.
    Code WINDEV : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    SELON H.FonctionTrigger
    	CAS "HModifie"
    		Trace("Modif")
     
    		//Variable identification du produit
    		nNumIDproduit est un entier
    		nNumIDproduit = produit.IDproduit
    		Trace("L'IDproduit est "+nNumIDproduit)
    		//Variable nom de la rubrique modifiée
    		sNomRubriqueModifiee est une chaîne
     
    		POUR TOUT produit AVEC IDproduit = nNumIDproduit
    			//Pour l'instant je récupère la valeur modifiée de la rubrique produit_ref_fournisseur, à rendre variable selon la rubrique
    			Trace(produit.produit_ref_fournisseur)
     
    		FIN
     
    		LOG_FICHIER.LOG_FICHIER_Date = DateSys()
    		LOG_FICHIER.LOG_FICHIER_Heure = HeureSys()
    		//LOG_FICHIER.LOG_FICHIER__Rubrique = sNomRubriqueModifiee
     
     
    		HAjoute(LOG_FICHIER)		
     
     
    	CAS "HAjoute" 
     
    	CAS "HSupprime"
     
    	AUTRE CAS
    		// Rien à faire
    FIN
    Merci pour vos bons conseils et votre aide pour m'accompagner vers la solution.

    Bonne journ�e

    Gregus

  2. #2
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    125
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 125
    Par d�faut
    J'ai essay�
    Code WINDEV : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    		NomRubrique est une chaîne
    		NomRubrique = HRécupèreRubrique(produit, 6, RC)
    		Trace(NomRubrique)
    cela me donne la modification du texte que j'effectue

    Code WINDEV : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    		NomRubrique est une chaîne
    		NomRubrique = ExtraitChaîne(HListeRubrique(produit),6,RC)
    		Trace(NomRubrique)
    cela me donne le nom de la rubrique "6". En l'occurence "produit_nom_produit". je pense que ce qu'il faut que j'arrive � faire c'est une variable pour r�cup�rer l'indice de la rubrique dans le fichier de donn�e en fonction de la rubrique modifi�.

    Mais je ne sais pas comment. Est-ce que l'on r�cup�rer l'indice d'une rubrique comme on r�cup�re l'indice d'une ligne?

  3. #3
    Expert confirm�
    Avatar de frenchsting
    Homme Profil pro
    multit�ches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 567
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : multit�ches-multifonctions
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 567
    Par d�faut
    Bonjour Gregus,

    Avec le hlisterubrique, tu va avoir la liste des rubriques. Il faut que tu prennes ensuite les types de donn�es associ�s (2�me �l�ment lorsque tu utilises hLstD�tailPlus) pour effectuer les conversions si besoin (numeriqueverschaine).

  4. #4
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    125
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 125
    Par d�faut
    Bonjour frenchsting,
    Merci pour ta r�ponse.
    Il m'a fallu un peu de temps avant de faire un retour pour essayer de comprendre. J'ai pas encore compris.

    Si, un peu quand m�me. HListeRubrique donne la liste des rubriques du fichier de donn�es avec d'autres informations. J'ai fini par comprendre que le 6�me �l�ment est le libell� en toutes lettres, et le 1er aussi. J'avais saut� la partie de l'aide o� il parle de l'utilisation notamment de la constante hLstD�tailPlus.

    Pourquoi me conseils-tu de prendre le 2�me �l�ment? J'aurai soit "N" soit "T" alors qu'avec le 6�me j'ai le nom complet?

    Code WINDEV : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    ListeRubrique est une chaîne
    ListeRubrique = HListeRubrique(produit, hLstDétailPlus)
    Trace(ListeRubrique)

    Le r�sultat du trace
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    IDtva<TAB>N<TAB>19<TAB>8<TAB>1<TAB>IDtva<TAB>18<TAB>0<\r><\n>
    IDmarque<TAB>N<TAB>19<TAB>8<TAB>1<TAB>IDmarque<TAB>18<TAB>0<\r><\n>
    IDcouleur<TAB>N<TAB>19<TAB>8<TAB>1<TAB>IDcouleur<TAB>18<TAB>0<\r><\n>
    ...
    Ce que je souhaiterais pouvoir faire c'est r�cup�rer uniquement le nom de la rubrique qui a subit une modification.
    Un truc qui en toute simplicit� pourrait s�interpr�ter :

    POUR IDproduit DE produit AVEC ListeRubrique(produit, hLstD�tailPlus) ayant subit une modification
    SAI_Rubrique = Rubrique
    FIN

    Mes trois lignes du dessus vous font bien marrer.

    J'arrive pour l'instant � extraire le nom d'une rubrique en pr�cisant son rang avec la fonction ExtraitCha�ne

    Code WINDEV : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    NomRubrique est une chaîne
    		NomRubrique = ExtraitChaîne(HListeRubrique(produit),6,RC)

    S'il est possible d'arriver au r�sultat que je souhaite, toutes les id�es sont les bien venues.
    Merci

    Gr�gus

  5. #5
    Expert confirm�
    Avatar de frenchsting
    Homme Profil pro
    multit�ches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 567
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : multit�ches-multifonctions
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 567
    Par d�faut
    Bonjour,

    le conseil �tait pour la gestion des types, pas des noms.

    Le truc, c'est qu'il va falloir que tu compares les valeurs de toutes tes rubriques avec celles pr�sentes dans l'enregistrement concern� de la bdd.
    La notion de "a �t� modifi�e" n'existe pas (ou je ne sais pas que �a existe).

  6. #6
    Membre confirm�
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    125
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 125
    Par d�faut
    Citation Envoy� par frenchsting Voir le message
    le conseil �tait pour la gestion des types, pas des noms.
    Ok, ceci �tant ton conseil m'a permis de comprendre un peu mieux HListeRubrique.

    Citation Envoy� par frenchsting Voir le message
    Le truc, c'est qu'il va falloir que tu compares les valeurs de toutes tes rubriques avec celles pr�sentes dans l'enregistrement concern� de la bdd.
    La notion de "a �t� modifi�e" n'existe pas (ou je ne sais pas que �a existe).
    En �crivant mon Post#4, c'est ce que je pensais. Un truc du genre "valeur avant modification <> valeur apr�s modification". Je ne connais pas pour les rubriques d'un fichier de donn�es, de propri�t� "valeurmodifi�e" comme pour certain champ.

    Je ne sais pas comment faire. Cependant fort de mes recherches j'ai lu une discussion qui traitait de comparaison de donn�es et dans laquelle un participant sugg�rait de cr�er un fichier de donn�e temporaire qui allait enregistrer les valeurs modifi�es et les comparer au fichier de donn�es "officiel" pour en faire ressortir la modification qui allait enclencher toute un process derri�re.

    Je voudrais, si possible, pouvoir faire plus simple. D'autant que dans mon fichier de donn�e il y a 54 rubriques.

    J'aimerai bien que quelqu'un me sugg�re une technique diff�rente et plus simple (de mon niveau) que je puisse mettre en oeuvre.

    Merci pour vos retours et vos participations.

    Gr�gus

  7. #7
    Expert confirm�
    Avatar de frenchsting
    Homme Profil pro
    multit�ches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 567
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : multit�ches-multifonctions
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 567
    Par d�faut
    Bonjour,

    Plut�t qu'un fichier de donn�es, je passerais plut�t par un tableau associatif. A voir pour g�rer les types de donn�es.

    Lister les 54 rubriques n'est pas un souci car tu l'as avec hlisterubrique. Il te faut ensuite utiliser les indirections.

Discussions similaires

  1. R�ponses: 22
    Dernier message: 19/01/2011, 10h00
  2. Comment r�cup�rer le nom d'une DIV dynamiquement ?
    Par Cvbdev dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 23/06/2010, 23h42
  3. Comment r�cup�rer le nom d'une balise XML avec DOM ?
    Par Predatorus26 dans le forum XML/XSL et SOAP
    R�ponses: 6
    Dernier message: 28/05/2010, 15h54
  4. comment r�cup�rer le nom d'une combobox dans une servlet
    Par phenix1988 dans le forum Servlets/JSP
    R�ponses: 0
    Dernier message: 09/05/2010, 13h20
  5. Comment r�cup�rer le nom d'une contrainte
    Par equilibrium dans le forum Langage SQL
    R�ponses: 8
    Dernier message: 29/05/2008, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo