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 :

Erreur lors de saisie des données


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2012
    Messages : 64
    Points : 0
    Points
    0
    Par défaut Erreur lors de saisie des données
    Bonjour
    Novice , je suis en train de développer une application sur windev15. Lors du teste des fenêtres de saisie de données j'ai une erreur si je laisse une des cases vide. Alors que dans mon diagramme de classe avec le quel j'ai générer ma base de donnée y a bien la multiplicité 0..1. J’utilise une base de données ACCESS 2007. Si quelqu'un a une idée à comment remédier à ce problème je suis preneur.
    Merci

    voici l erreur :

    Erreur à la ligne 7 du traitement Clic sur BTN_Valider.
    Vous avez appelé la fonction HAjoute.
    Erreur de l'accès OLE DB.
    Numéro d'erreur = 170147

    Echec de la mise à jour de l'enregistrement sur la base de données.

    Détail de l'erreur système :

    Description = Vous ne pouvez pas ajouter ou modifier un enregistrement car l'enregistrement associé est requis dans la table «*ChefAtelier_Service*».
    Source = Microsoft Office Access Database Engine
    Help Context = 5003000
    SQL State = 3201
    Error Number = -2147217887
    Native Error Number = -535037517

  2. #2
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 615
    Points : 841
    Points
    841
    Par défaut
    Bonjour
    Merci pour le message d'erreur, mais il se produit quand ?
    Tu as fait un debug pas à pas ?
    Ce serait cool de savoir sur quel Hajoute/hmodifie tu as le message et aussi quelles sont les valeurs des données que tu veux intégrer

    Bon dev
    Gancau

  3. #3
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 305
    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 305
    Points : 9 405
    Points
    9 405
    Par défaut
    Je suis d'accord avec Gancau : il manque trop d'informations !!!

    Je suppose malgré tout que tu fais un ajout d'une table type "Service" et que la clé étrangère de ton "ChefAtelier_Service" n'est pas valorisée dans cette table "Service".

    Tu dois sélectionner ton "ChefAtelier_Service" et faire l'affectation dans la table "Service" avant de faire ton hajoute(Service).

  4. #4
    Membre confirmé Avatar de PaulNero
    Homme Profil pro
    DBA Senior Oracle and SQL SERVER
    Inscrit en
    Octobre 2010
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Inde

    Informations professionnelles :
    Activité : DBA Senior Oracle and SQL SERVER
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 416
    Points : 470
    Points
    470
    Par défaut
    slt,
    je suis d'accord avec Gancau et Frenchsting.Mais, 0..1 détermine la multiplicité?
    moi je vois plutot : 0..n ou 0..symbole infi?

    Il est important,si je peux me permettre de faire cette remarque, de bien cerner votre modèle de données avant de programmer,dans le cas contraire, vous serez surpris de certaines erreurs.


    cordialement

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2012
    Messages : 64
    Points : 0
    Points
    0
    Par défaut code complet de l erreur
    Erreur à la ligne 7 du traitement Clic sur BTN_Valider.
    Vous avez appelé la fonction HAjoute.
    Erreur de l'accès OLE DB.
    Numéro d'erreur = 170147

    Echec de la mise à jour de l'enregistrement sur la base de données.

    Détail de l'erreur système :

    Description = Vous ne pouvez pas ajouter ou modifier un enregistrement car l'enregistrement associé est requis dans la table «*ChefAtelier_Service*».
    Source = Microsoft Office Access Database Engine
    Help Context = 5003000
    SQL State = 3201
    Error Number = -2147217887
    Native Error Number = -535037517


    ----- Informations techniques -----

    Projet : test 18-05-12

    Appel WL :
    Traitement de 'Clic sur BTN_Valider' (FEN_Fiche_Personnel.BTN_Valider), ligne 7, thread 0
    Fonction 'HAjoute', syntaxe 1

    Que s'est-il passé ?
    Erreur de l'accès OLE DB.
    Numéro d'erreur = 170147

    Echec de la mise à jour de l'enregistrement sur la base de données.

    Code erreur : 73001
    Niveau : erreur fatale (EL_FATAL)
    Code erreur WD55 : 3001

    Message d'erreur système :
    Description = Vous ne pouvez pas ajouter ou modifier un enregistrement car l'enregistrement associé est requis dans la table «*ChefAtelier_Service*».
    Source = Microsoft Office Access Database Engine
    Help Context = 5003000
    SQL State = 3201
    Error Number = -2147217887
    Native Error Number = -535037517

    Dump de l'erreur du module 'WD150HF.DLL' (15.00Db).
    Identifiant des informations détaillées (.err) : 72801
    Informations de débogage :
    IEWDOLDB=111.27
    Module=<WDOLDB>
    Version=<15.00Af>
    Exceptions sur code <-2147217887> autorisées

    Version du MDAC = <2.81.1132.0>.



    [Current Recordset parameters]
    Wanted = LockType = <adLockOptimistic>, Location = <adUseServer>, Type = <adOpenKeyset>, Capacities = <10daf00>
    Got = LockType = <adLockUnspecified>, Location = <adUseServer>, Type = <adOpenKeyset>, Capacities = <10daf00>



    [Connection parameters]
    DataSource = <F:\Projet test 2\test x5-07-05-12.accdb>
    Initial Catalog = <>
    Provider = <Microsoft.ACE.OLEDB.12.0>
    User = <>
    Password = <>
    Extended Info = <>
    Access = <Read/Write>

    [Connection settings]
    ConnectionTimeout = <-1>
    CommandTimeout = <0>

    [Data format]
    Query Parameter Checked = <0> = <>
    Query Parameter Needing conversion = <0> = <>
    DecimalSeparator = <Undefined>
    DateFormat = <>

    [Cursor settings Match]
    LockType = <adLockOptimistic>, Location = <adUseServer>, Type = <adOpenKeyset>, Capacities = <10daf00>
    LockType = <adLockUnspecified>, Location = <adUseNone>, Type = <adOpenUnspecified>, Capacities = <ffffffff>
    LockType = <adLockUnspecified>, Location = <adUseNone>, Type = <adOpenUnspecified>, Capacities = <ffffffff>

    [Recordset 1]
    Settings = <LockType = <adLockOptimistic>, Location = <adUseServer>, Type = <adOpenKeyset>, Capacities = <10daf00>>
    CapacitiesSupported = <adAddNew;adBookmark;adDelete;adFind;adHoldRecords;adMovePrevious;adNotify;adUpdate;adUpdateBatch;>
    CapacitiesNotsupported = <adApproxPosition;adIndex;adResync;adSeek;>
    HFFunctionsSupported = <HAjoute;HSupprime;HModifie;HPositionCourante;HAvance;HRecule;HLitPremier;HLitSuivant;HLitPrecedent;HRecherche;>
    HFFunctionsNotsupported = <>


    Fonction (7,0)
    Informations supplémentaires :
    EIT_ADOCODE : <-2147217887>
    EIT_BASECODE : <-535037517>
    EIT_ODBCDESCRIPTION : <Vous ne pouvez pas ajouter ou modifier un enregistrement car l'enregistrement associé est requis dans la table «*ChefAtelier_Service*».>
    EIT_ODBCCODE : <3201>
    EIT_NATIVECODE : <170147>
    EIT_LOGICALTABLENAME : <Personnel>
    EIT_PILEWL :
    Clic sur BTN_Valider (FEN_Fiche_Personnel.BTN_Valider), ligne 7
    Sélection du menu de MENU__Menu.MENU_Personnel.MENU_Personnel1 (FEN_MENU.MENU__Menu.MENU_Personnel.MENU_Personnel1), ligne 2
    EIT_DATEHEURE : 18/05/2012 13:51:25

  6. #6
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 305
    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 305
    Points : 9 405
    Points
    9 405
    Par défaut
    C'est ce dont je parlais mais je me suis trompé de sens. Pas doué pour l'art de la divination...

    Dans ta table *ChefAtelier_Service* tu as une clé étrangère de la table personnel. Elle n'est pas renseignée d'où l'erreur.

    Dans ton code tu dois avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ChefAtelier_Service.info1 = SAI_info1
    ChefAtelier_Service.info2 = "XXX"
    ChefAtelier_Service.info3 = 999
    // ici tu dois faire la liaison avec ta table personnel
    // hlitrecherchepremier(personnel, clepersonnel,ValeurRecherchee)
    // si pas htrouve(personnel) alors retour
    ChefAtelier_Service.idpersonnel = personnel.idpersonnel
    hajoute(ChefAtelier_Service)
    En supposant que ta clé étrangère est idpersonnel

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2012
    Messages : 64
    Points : 0
    Points
    0
    Par défaut
    en fait pour mon projet j utilise une modéle MOO sur power AMC avec le quel je génére le modéle physique de donnée, ensuite je passe a la génération de la base de donnée ACCESS. Grace a cette base de donnée et à l aide assisté de création de projet windev je génére la RAD compléte de mon application.
    Voici ci-joint mon MOO
    Merci encore beaucoup pour vos réaction.
    Images attachées Images attachées  

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2012
    Messages : 64
    Points : 0
    Points
    0
    Par défaut le probléme
    je pense que le probléme vien de ma modélisation quoi que je n suis pas surT!!!! voila mon probléme dans ma table Personnel je dois avoir avoir son chef qui est lui aussi une personne mais quand je crée une personne en laissant le champ chef vide le probléme ce produit alors que mon modéle moo une personne peut avoir ou pas un chef. je ne sais pas comment je pourai réalisé cela???

  9. #9
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 305
    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 305
    Points : 9 405
    Points
    9 405
    Par défaut
    une personne peut être chef. Dans ta table personne tu as le matricule (clé unique).
    Dans ta table chef d'atelier, tu mets juste le champ matricule (clé unique).

    Par contre, pour les cardianalités, je ne sais jamais où il faut écrire les chiffres Tu peux avoir plusieurs personnels (0,n) et une personne est chef ou pas (0,1).

    Dans ta fenêter, tu mets les champs de saisie (nom, prenom,...) et une case à cocher "chef". Dans ton code, tu gères la case à cocher en ajoutant dans la table chef. Ensuite (ou avant), comme je suis nul en cardinalités, tu dois faire l'ajout dans ta table chef avant l'ajout dans la table personnel.

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2012
    Messages : 64
    Points : 0
    Points
    0
    Par défaut

    Dans mon cas ces deux relation que je dois définir
    -une personne peut étre chef ou pas.
    -une personne peut avoir un chef ou pas, et un chef est chef de une ou plusieur personne.
    mon probléme ces que je n arrive pas a créer une personne sans chef et pour créer un chéf je dois créer un personne enfin de compte je me retrouve avec l énigme de de "l oeuf et de la poule"

  11. #11
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 615
    Points : 841
    Points
    841
    Par défaut
    Bonjour
    A tout hasard, il te faudrait une clé non obligatoire qui serait l'id de la personne chef de ta table personne
    ou alors une table de liaison chef dans laquelle tu ne mets que 2 champs
    Le premier contient les ID des personnes chef
    Le second les Id des personnes qui ont un chef
    Tu as un clé qui est la concaténation de ces 2 champs.
    Tu ecris l'Id du chef autant de fois qu'il a de personnes sous lui.

    Je n'ai jamais géré de projet avec la récursivité des infos sur une table elle même,... à part dans mes lointaines études
    Alors je ne sais pas si Windev gère une clé étrangère sur la table elle même
    Bon dev
    Gancau

  12. #12
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 305
    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 305
    Points : 9 405
    Points
    9 405
    Par défaut
    En changeant l'ordre des hajoute : tu crées la personne : hajoute(personne) puis tu fais le hajoute(chef).

    Ca donne quoi ?

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2012
    Messages : 64
    Points : 0
    Points
    0
    Par défaut
    Même soucie si je ne change pas le plan de mon MOO et si je rond pas la selection dans le champ chef non obligatoir j ai toujours le même problème.

Discussions similaires

  1. Réponses: 14
    Dernier message: 22/07/2015, 04h18
  2. [AJAX] Erreur lors de récupération des données en Json
    Par goku19 dans le forum jQuery
    Réponses: 3
    Dernier message: 19/04/2014, 14h40
  3. [SSAS] Erreur interne lors du process des données
    Par cedric_g dans le forum SSAS
    Réponses: 2
    Dernier message: 07/12/2007, 17h12
  4. Réponses: 2
    Dernier message: 21/05/2006, 14h02
  5. [DbEdit] Pb lors de modififications des données de DbEdit
    Par dem dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/12/2005, 18h05

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