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 :

Champs et base de données [WD11]


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2012
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 171
    Points : 37
    Points
    37
    Par défaut Champs et base de données
    Bonjour,

    J'ai des petits soucis...

    J'ai beau regarder les exemples et de la doc diverses sur le net je n'arrive pas bien à comprendre le fonctionnement de la base de donné sous windev.

    Voila en gros j'aimerais que les différentes choses saisies par l'utilisateur soit enregistré dans une base de donné hyper file pour que ensuite on puissent les consultés voir les modifiées...

    J'ai 2 tables 1 "entête" qui regroupe certaines infos et la 2 "lignes" qui regroupe des infos aussi. une ligne à une seul entête par contre une entête correspond a plusieurs lignes.

    J'aimerais que lorsque utilisateur appuie sur le bouton enregistrer bah que sa enregistre ce qu'il à saisie dans cette base.

    Je comprend pas bien comment faire cela, j'ai essayer avec Hcreatio, Hajout mais non sa ne marche pas j'ai du oublier une étape...

    Merci d'avance.

  2. #2
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Bonjour,

    Surtout ne prend pas mal ce que je vais te dire, mais as tu lu le guide d'autoformation de Windev? il y a plusieurs exercices et exemples qui te donneront les bases de windev.
    Il est vrai que c'est long mais tu ne va pas apprendre windev si tu ne passe pas au moins un peu de temps sur cette étape.

    regarde quand même ce guide qui te sera d'une grande utilitée.

    ensuite quand tu pose des questions pense toujours à mettre les exemple de code que tu as essayé.

    Donne nous un maximum d'info pour que l'on t'aide mais ne t'atend pas à ce que l'on fasse ton boulout.
    Sur ce bonne lecture
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2012
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 171
    Points : 37
    Points
    37
    Par défaut
    merci quand même ...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Janvier 2012
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 171
    Points : 37
    Points
    37
    Par défaut
    J'ai regardé l'auto-formation et j'ai aussi regarder dans l'aide...

    J'ai ce genre erreur

    Dump de l'erreur du module <WD110HF.DLL> <11.00Dq>.

    - Niveau : erreur non fatale (EL_ONRETURN)

    - Code erreur : 70015

    - Code erreur WD55 : 15

    - Pas de code d'erreur système

    - Pas de message d'erreur système

    - Que s'est-il passé ?
    Erreur d'intégrité.
    Les cardinalités côté clé primaire (1,99) entre les rubriques <Entête.IDEntête> et <Ligne.IDLigne> ne sont pas respectées.

    - Infos de debug :
    iehf=14028

    - Infos attachées :
    EIT_LOGICALTABLENAME : <Entête>
    EIT_ITEMNAME : <IDEntête>
    EIT_LINKNAME : <Contrainte_Entête_Ligne>

    - Identifiant dans le .err : 70904
    Si quelqu'un peut m'aider merci ...

  5. #5
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    d'après le message d'erreur il faut que tu est une ligne et une entête en même temps à cause de ta cardinalité 1/99

    il faut à mon avis mettre une cardinalité 0/99 afin de pouvoir créer une entête puis de créer les lignes qui y sont associé.

    Mais avec juste un message d'erreur sans avoir le code qui génère ce message ce n'est pas simple de répondre.
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  6. #6
    Nouveau membre du Club
    Inscrit en
    Janvier 2012
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 171
    Points : 37
    Points
    37
    Par défaut
    merci de m'aider !

    Voici le code que je viens de saisir :

    HCréationSiInexistant(Entête, hOuvertureDifférée)
    HCréationSiInexistant(Ligne, hOuvertureDifférée)
    SI SAI_SaisieGestCommande = "" ALORS
    Erreur("Vous n'avez pas remplie la gestion commande.")
    RepriseSaisie(SAI_SaisieGestCommande)
    FIN
    SI INT_InterrupteurNonRegroup = Faux ET INT_InterrupteurURG = Faux ALORS
    Erreur("Vous n'avez pas cochez une des deux cases.")
    RepriseSaisie(INT_InterrupteurURG)
    FIN
    SI SAI_SaisieIniExpedi = "" ALORS
    Erreur("Vous n'avez pas remplie les initiales de l'expéditeur.")
    RepriseSaisie(SAI_SaisieIniExpedi)
    FIN
    SI SAI_SaisieObjetDepense = "" ALORS
    Erreur("Vous n'avez pas remplie l'objet de dépense.")
    RepriseSaisie(SAI_SaisieObjetDepense)
    FIN
    SI SAI_SaisieNomFournisseur = "" ALORS
    Erreur("Vous n'avez pas remplie le nom du fournisseur.")
    RepriseSaisie(SAI_SaisieNomFournisseur)
    FIN
    SI SAI_SaisieN°Fournisseur = 0 ALORS
    Erreur("Vous n'avez pas remplie le N° de fournisseur.")
    RepriseSaisie(SAI_SaisieN°Fournisseur)
    FIN
    SI SAI_SaisieDateRecep = "" ALORS
    Erreur("Veuillez saisir une date de réception.")
    RepriseSaisie(SAI_SaisieDateRecep)
    FIN
    SI SAI_SaisieDateFacture = "" ALORS
    Erreur("Veuillez saisir une date de facture.")
    RepriseSaisie(SAI_SaisieDateFacture)
    FIN
    SI SAI_SaisieDateArrivé = "" ALORS
    Erreur("Veuillez saisir une date d'arrivée.")
    RepriseSaisie(SAI_SaisieDateArrivé)
    FIN
    SI SAI_SaisieDateRecep > DateSys() ALORS
    Erreur("La date de récepetion est incorrecte car elle est supérieure à la date du jour.")
    RepriseSaisie(SAI_SaisieDateRecep)
    FIN
    SI SAI_SaisieDateFacture > DateSys() ALORS
    Erreur("La date de facture est incorrecte car elle est supérieure à la date du jour.")
    RepriseSaisie(SAI_SaisieDateFacture)
    FIN
    SI SAI_SaisieDateArrivé > DateSys() ALORS
    Erreur("La date d'arrivée est incorrecte car elle est supérieure à la date du jour.")
    RepriseSaisie(SAI_SaisieDateArrivé)
    FIN
    SI SAI_SaisieDateRecep > SAI_SaisieDateFacture ALORS
    Erreur("La date de réception précède la date de facture.")
    RepriseSaisie(SAI_SaisieDateRecep)
    FIN
    SI SAI_SaisieDateFacture > SAI_SaisieDateArrivé ALORS
    Erreur("La date de facture précède la date de d'arrivé.")
    RepriseSaisie(SAI_SaisieDateFacture)
    FIN
    SI SAI_SaisieRattachement = "" ALORS
    Erreur("Vous n'avez pas remplie le rattachement.")
    RepriseSaisie(SAI_SaisieRattachement)
    FIN
    SI SAI_SaisieN°Liquidation = "" ALORS
    Erreur("Vous n'avez pas remplie le N° de liquidation.")
    RepriseSaisie(SAI_SaisieN°Liquidation)
    FIN
    SI SAI_SaisieN°DeCommande = "" ALORS
    Erreur("Vous n'avez pas remplie le N° de commande.")
    RepriseSaisie(SAI_SaisieN°DeCommande)
    FIN
    SI SAI_SaisieRefFacture = 0 ALORS
    Erreur("Vous n'avez pas remplie la référence de la facture.")
    RepriseSaisie(SAI_SaisieRefFacture)
    FIN

    EcranVersFichier()
    HAjoute(Entête)
    HRAZ(Entête)
    Info("Votre liquidation à bien été enregistrée")

    SAI_SaisieDateArrivé = ""
    SAI_SaisieDateFacture = ""
    SAI_SaisieDateRecep = ""
    SAI_SaisieGestCommande = ""
    SAI_SaisieIniExpedi = ""
    SAI_SaisieN°DeCommande = ""
    SAI_SaisieN°Fournisseur = ""
    SAI_SaisieN°Liquidation = ""
    SAI_SaisieNomFournisseur = ""
    SAI_SaisieObjetDepense = ""
    SAI_SaisieRattachement = ""
    SAI_SaisieRefFacture = ""
    SAI_SaisieTotalTTC = ""
    INT_InterrupteurNonRegroup = ""
    INT_InterrupteurURG = ""

    TableSupprimeTout(TABLE_TableTVA)
    POUR i = 1 A 3
    TableAjouteLigne(TABLE_TableTVA,"","","","","","")
    FIN
    TableSupprimeTout(TABLE_TableLSCP)
    POUR i = 1 A 99
    TableAjouteLigne(TABLE_TableLSCP,"","","","","","","","","")
    FIN

  7. #7
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Oui Ok merci pour le code.
    Mais que dis tu de mon message précédent, est-ce que ça peux venir de là.?

    Ensuite tu fais tes test de test champs de saisie puis un EcranVersFichier.
    Mais est-ce que tes champs de saisie sont bien lié à tes fichier?

    Si oui comment veux tu que windev gère le fait que tu ajoute en même temps les lignes et les entêtes? (si c'est bien ce que je pense)

    Il faut que tu gère d'abord l'ajout dans ton fichier entête puis que tu lié les lignes à l'id de ton fichier entête car je suppose que tu as un lien entre les deux.

    Décris nous comment tu as créer tes champs car pour l'instant on a pas plus d'infos.
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  8. #8
    Nouveau membre du Club
    Inscrit en
    Janvier 2012
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 171
    Points : 37
    Points
    37
    Par défaut
    Bonjour et désolé du retard,

    Je vais essayer de changer les cardinalités et voir ce que sa donne.

    Ensuite certains de mes champs ont bien une liaison avec ma table "entête".

    Peut-être que je créé mal le fichier, je ne sais pas trop...

    Merci.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Janvier 2012
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 171
    Points : 37
    Points
    37
    Par défaut
    Je viens de tester avec 0,99 et la pas d’erreur !

    Comment puis-je vérifier que cela à bien été enregistré?

    Un grand merci !

  10. #10
    Nouveau membre du Club
    Inscrit en
    Janvier 2012
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 171
    Points : 37
    Points
    37
    Par défaut
    C'est bon j'ai trouvé.

    Merci de m'avoir aiguillé.

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 28/01/2010, 12h01
  2. Réponses: 2
    Dernier message: 18/01/2010, 15h01
  3. Réponses: 8
    Dernier message: 16/05/2009, 18h10
  4. champ de Base de données
    Par Michel85 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 03/06/2008, 10h31
  5. nom bouton=champs dans base de données
    Par lg022 dans le forum VB.NET
    Réponses: 5
    Dernier message: 30/04/2008, 07h56

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