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

WinDev Discussion :

comment effectuer une réinscription [WD17]


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2013
    Messages : 53
    Points : 45
    Points
    45
    Par défaut comment effectuer une réinscription
    bonjour j'ai un mini projet de gestion d'inscription et réinscription des élèves d'une ecole.
    j'ai une fenetre inscription pour effectuer mes inscription ce qui marche bien.sur cette fenetre j'ai un bouton réinscription pour rechercher un élève déjà inscris dans ma base de données et ensuite afficher ses coordonnées sur ma fenêtre le problème est que je n'arrive pas à faire un enregistrement avec le même numero matricule après avoir cliqué sur mon bouton réinscription.on me renvoi un message d'erreur me disant de changer le numero matricule de l'élève pour pouvoir effectuer l'enregistrement.or c'est une réinscription que je veux faire en changeant par exemple la classe de l'élève l'année scolaire.mais je n'arrive pas j'ai besoin d'aide.

  2. #2
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Problème d'analyse il te faut faire une relation plusieurs à plusieurs entre élève et classe en utilisant un fichier d'association

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    +---------+    +----------------+    +----------+
    |  Eleve  |--->|  Eleve_classe  |<---|  Classe  |
    +---------+    +----------------+    +----------+
    | idEleve |    | idEleve_classe |    | idClasse |
    | ...     |    | idEleve        |    | ...      |
    +---------+    | idClasse       |    +----------+
                   +----------------+
    Bon dev
    Laurent

    - C’est génial.
    - Non c’est bizarre.
    - Justement quand c’est simple y’a des milliers de réponses et quand c’est bizarre y’en a aucune.

  3. #3
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2013
    Messages : 53
    Points : 45
    Points
    45
    Par défaut bonjour laurent30s
    je veux préciser que dans mon analyse
    +---------+ +----------------+ +----------+
    | Eleve | (1,n) -->(1,1) | inscription |(1,1) <-- (1,n) | Classe |
    +---------+ +---------------+ +----------+
    | idEleve | | idinscription | | idClasse |
    | ... | | idEleve | | ... |
    +---------+ | idClasse | +----------+
    +----------------+
    comme tu vois j'ai une table inscription dans laquelle migre l'identifiant de mes tables elève et classe.je me dit que sit je fais une autre liaison entre la table classe et le table élève il y aura une transitivité.est ce que je doit changer l'analyse

  4. #4
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    OK, tu as la même analyse que je te préconise...

    Citation Envoyé par franckmichael Voir le message
    ...après avoir cliqué sur mon bouton réinscription.on me renvoi un message d'erreur me disant de changer le numero matricule de l'élève pour pouvoir effectuer l'enregistrement...
    Ce type d'erreur peut provenir si tu ajoutes un eleve au fichier Eleve avec un matricule existant (si le matricule correspond à l'ID ou s'il est en clé unique).

    Pour que cette erreur provienne lors d'un ajout dans le fichier inscription il faudrait que l'idEleve dans le fichier inscription soit déclaré en clé unique, or selon ton analyse ce n'est pas le cas. J'ai du mal à comprendre ce qui se passe...

    Qu'entends tu par réinscription ? quelle action fait tu au niveau de quels fichiers ? (ajout/modif)
    Un bout de code serait le bien venu pour comprendre ton contexte...
    Bon dev
    Laurent

    - C’est génial.
    - Non c’est bizarre.
    - Justement quand c’est simple y’a des milliers de réponses et quand c’est bizarre y’en a aucune.

  5. #5
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2013
    Messages : 53
    Points : 45
    Points
    45
    Par défaut bonjour laurent30s
    je parle deux réinscription le fait qu'un élève soit déjà au cours d'une année scolaire donnée et qu'il vient pour s'inscrire l'année scolaire suivante.donc il doit garder ses informations sauf la classe qui peut changer au cas ou il est admis en classe supérieur. voici le code qui se trouve sous mn bouton valider sur ma fenêtre d'inscription.le x est une variable de type booléen pour effectuer les enregistrement.
    si x=Vrai ALORS
    SAI_Dateinscription=DateDuJour()
    inscription.Matricule=SAI_Matricule_elev
    SI niveau_classe.nbre_eleve<niveau_classe.effectif
    HAjoute(inscription)
    majnbrelev(COMBO_Niveau_classe..Valeur,niveau_classe.nbre_eleve+1)
    eleve.Matricule=SAI_Matricule_elev
    HAjoute(eleve)
    versement.Matricule=SAI_Matricule_elev
    versement.date_versement=SAI_Dateinscription
    versement.mtt_restant=SAI_Mtt_a_versé
    HAjoute(versement)
    Info("inscription effectuée")
    RAZ()
    SAI_Matricule_elev=matricule()
    SAI_Dateinscription=DateDuJour()
    SINON
    SI niveau_classe.nbre_eleve>=niveau_classe.effectif ALORS
    Erreur("nombre de place atteinte,creer une autre classe")
    RETOUR
    FIN

    FIN
    SINON
    HModifie(inscription)
    Info("modification effectuée")
    FIN
    merci de bien vouloir m'aider

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Le problème est là:
    Citation Envoyé par franckmichael Voir le message
    si x=Vrai ALORS
    HAjoute(eleve)
    Dans le code l'ajout de l'élève est systématique, ce qui ne pas être le cas.

    Tatayo.

  7. #7
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Tu m'a envoyés un bout de code mais tu ne m'as pas dit ce que tu entends par réinscription ?

    Ceci dit, je vois dans ton code que tu fais un hAjoute(inscription) suivi d'un hAjoute(eleve).

    Si l'élève n'existe pas tu aurais une erreur lors du hAjoute(inscription) qui ne dirait pas "de changer le numero matricule de l'élève" mais plutôt "numero matricule de l'élève inexistant".

    J'ai la forte impression que le problème vient du hAjoute(eleve).
    Pour moi, tu essayes d'ajouter un élève qui est déjà dans le fichier élève. Or je suppose que le numero matricule de l'élève est une clé unique et par conséquent tu obtiens une erreur puisqu'il ne peut pas faire de doublon...

    Pourquoi fais tu ce hAjoute(eleve) ? Est-ce nécessaire ?

    Si tu veux localiser le problème débogue pas à pas en mettant des points d'arrêts ou à minima tu contrôles que chaque hAjoute() se passe bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SI PAS HAjoute(TonFichier) ALORS
    	Erreur("Impossible d'ajouter un enregistrement dans TonFichier")
    FIN
    Le but est de savoir où ça coince, puis de voir pourquoi ?
    Bon dev
    Laurent

    - C’est génial.
    - Non c’est bizarre.
    - Justement quand c’est simple y’a des milliers de réponses et quand c’est bizarre y’en a aucune.

  8. #8
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2013
    Messages : 53
    Points : 45
    Points
    45
    Par défaut bonjour laurent30s
    je veux dire par réinscription le fait d'éffectuer une inscription avec le même numero matricule mais en changeant la classe et l'année scolaire du fait que l'élève qui vient s'inscrire existe déjà dans ma base de donnée sauf qu'il passe en classe supérieur.je fais le hajoute(élève) pour qu'après une inscription les informations liées à l'élève partent ds la table ELEVE et hajoute(inscription) pour que les informations concernants l'inscription partent ds la table INSCRIPTION

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Mais en cas de réinscription l'enregistrement dans la table ELEVE existe déjà !
    Il faut juste soit modifier la ligne dans la table INSCRIPTION, soit en ajouter une autre (selon tes règles de gestion).

    Tatayo.

  10. #10
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2013
    Messages : 53
    Points : 45
    Points
    45
    Par défaut bonjour laurent30s
    j'ai bien cerné le message je me demande si vous avez une solution à me donner j'aimerais créer un bouton qui une fois que je sélectionne désactivera l'ajout de l'élève qui me permettra d'éffectuer un nouvel enregistrement avec le même numero matricule

  11. #11
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Comme te l’a dit tatayo à partir du moment où tu as ajouté un élève avec son matricule il existe dans le fichier élève.
    Donc tu ne dois plus faire de hAjoute(eleve) pour un ID (matricule) déjà existant.
    Tu peux éventuellement faire un hModifie(eleve) pour un ID (matricule) existant si tu as des données concernant l’élève à mettre jour.
    Mais plus de hAjoute(eleve) sinon il sera normal que tu ais une "erreur te disant de changer le numero matricule de l'élève pour pouvoir effectuer l'enregistrement"...

    Si la liaison entre les fichier Eleve et Eleve_classe est bien celle que tu nous annonces tu peux ajouter autant d’enregistrement que tu veux pour un même ID élève tu n’auras jamais l’erreur si dessus.

    Citation Envoyé par franckmichael Voir le message
    j'ai bien cerné le message je me demande si vous avez une solution à me donner j'aimerais créer un bouton qui une fois que je sélectionne désactivera l'ajout de l'élève qui me permettra d'éffectuer un nouvel enregistrement avec le même numero matricule
    "désactivera l'ajout de l'élève" je ne sais pas ce que ça veut dire ???

    Je crois comprendre que tu souhaites supprimer dans le fichier Eleve_classe l'inscription précédente de l'élève pour pouvoir ajouter la nouvelle. Mais j'en suis pas sur ???

    Si c'est ça il est préférable de te position sur l'enregistrement de l'élève (dans classe_eleve) et de remplacer l'IDClasse par celui de la nouvelle classe.


    Ceci dit :

    - Pourquoi faire une relation plusieurs à plusieurs avec le fichier association Eleve_classe si l’élève ne peut appartenir qu'à une classe à la fois ???

    - C'est dommage de perdre l'historique des classes auxquelles ont était inscrit les élèves. Il suffit d'ajouter une rubrique AnneeScolaire soit au fichier Classe soit au fichier Classe_eleve pour pouvoir faire la différence entre toutes les inscriptions.

    - Enfin et surtout ton problème ne semble pas provenir d'un ajout au fichier Classe_eleve mais d'un ajout au fichier eleve sur un ID (matricule) existant. Donc ce que tu veux faire (ou que je crois comprendre) ne résout en rien ton problème...

    Pour moi ton bouton inscription devait seulement ajouter un enregistrement au fichier Eleve_classe avec l'ID de l'élève et l'ID de la classe et éventuellement l'année scolaire si elle n'est pas définie dans la classe.

    Ainsi pour une année scolaire tu peux connaître les élèves des chaque classe et pour un élève savoir dans quelles classes il a été chaque annèe...
    Bon dev
    Laurent

    - C’est génial.
    - Non c’est bizarre.
    - Justement quand c’est simple y’a des milliers de réponses et quand c’est bizarre y’en a aucune.

  12. #12
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2013
    Messages : 53
    Points : 45
    Points
    45
    Par défaut bonjour laurent30s, bonjour tatayo
    salut je voudrais vous dire merci pour tout ce que vous m'aviez donné comme conseil.je crois que c'est ma variable x=vrai qui fesais que le cas de réinscription ne passe pas.j'ai remplacé par la condition d'enregistrement classique et sa marche!!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment effectuer une recherche dans une listBox?
    Par Mickey.jet dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 19/05/2006, 16h15
  2. Réponses: 2
    Dernier message: 09/02/2006, 07h53
  3. [C#][ MSI] Comment effectuer une mise à jour d'application ?
    Par th3r1ddl3r dans le forum Windows Forms
    Réponses: 6
    Dernier message: 15/12/2005, 10h09
  4. Réponses: 6
    Dernier message: 24/03/2005, 14h29

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