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 :

[WD 11] Insertion avec contrainte d'intégrité


Sujet :

WinDev

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 156
    Points : 67
    Points
    67
    Par défaut [WD 11] Insertion avec contrainte d'intégrité
    Bonjour,
    J'ai une fenetre avec plein de champs et un bouton ajouter. Je voudrais ajouter dans une table "client" une partie de ces informations et les restante dans une autre table "info"

    client (IDClient, nom, prenom, etc...)
    info (taille, poids, etc..., IDClient)

    J'ai commencé a coder le bouton mais je bloque (je suis nouveau sur WD)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    num_client est un entier
    EcranVersFichier()
    HAjoute(Client)
    num_client = Client.IDClient
    // 2eme insertion
    RAZ()
    HRAZ(Client)

  2. #2
    Membre averti Avatar de JPDMJC
    Profil pro
    Inscrit en
    Février 2005
    Messages
    337
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 337
    Points : 394
    Points
    394
    Par défaut
    Salut,
    tu devrais pouvoir lier des champs à ta première table, et d'autres à ta seconde table. Regarde dans les options de tes champs Après un EcranVersFichier, les hAjoute, et hop.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 156
    Points : 67
    Points
    67
    Par défaut
    Toutes les liaison sont deja faite. L'ajout sur la table client fonctionne parfaitement. Mais pas pour la table info, j'ai deux champs qui doivent etre inséré "automatiquement" qui sont: la date du jour et le num client

    J'ai essayé ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    EcranVersFichier()
    HAjoute(Client)
    HAjoute(Info)
    RAZ()
    HRAZ(Client)
    HRAZ(Info)
    Erreur de cardinalité, contrainte d'intégrité

  4. #4
    Membre averti Avatar de JPDMJC
    Profil pro
    Inscrit en
    Février 2005
    Messages
    337
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 337
    Points : 394
    Points
    394
    Par défaut
    haaa ben n'y aurait-il pas quelquechose entre ces deux tables ? Des clefs étrangères ? Les as-tu renseigné avant de faire les hAjoute ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 156
    Points : 67
    Points
    67
    Par défaut
    Oui il y a une liaison entre les 2 tables:
    client (IDClient, nom, prenom, etc...)
    info (taille, poids, etc..., IDClient)

    Je ne sais pas comment ca marche pour les clée etrangère...

  6. #6
    Membre averti Avatar de JPDMJC
    Profil pro
    Inscrit en
    Février 2005
    Messages
    337
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 337
    Points : 394
    Points
    394
    Par défaut
    [de tête, à vérifier]
    avant le hAjoute(info) mais après le hAjoute(client), tu peux faire un info.IDClient = client.IDClient
    de cette manière la relation entre client et info sera respectée

    Concrètement, tu créé ton client, tu as maintenant son ID (automatique ?), ensuite tu prépares ton info pour lui dire de se lier (via la clef étrangère) au client dont tu as l'ID, et tu n'as plus qu'à ajouter l'info.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 156
    Points : 67
    Points
    67
    Par défaut
    Je vais essayé mais avant une dernière petite question, comment rajouter la date (ce n'est pas un champs de ma fenetre) dans la table info ?

    Merci

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Si c'est la date du jour, tu as DateDuJour () et DateSys ()

  9. #9
    Membre averti Avatar de JPDMJC
    Profil pro
    Inscrit en
    Février 2005
    Messages
    337
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 337
    Points : 394
    Points
    394
    Par défaut
    ben toujours avant ton hAjoute, ça se passe comme pour la clef étrangère IdClient, un petit info.date = xxxx
    où xxxx est la date, comme celle retournée par DateDuJour(), ou bien une autre de ton choix.
    Je te conseille de te plonger dans le guide d'auto-formation, il te dira tout sur tout

    [edit] oups, grilled ^^, je manque de vitalité ....[/edit]

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 156
    Points : 67
    Points
    67
    Par défaut
    Merci beaucoup, j'ai deja suivi la plupart des cours d'auto formation, mais l'histoire des clés étrangères je ne savais pas.

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

Discussions similaires

  1. Import des données avec contraintes d'intégrités
    Par Marwa_87 dans le forum Import/Export
    Réponses: 2
    Dernier message: 30/04/2012, 16h38
  2. insertion avec contrainte sur clef primaire ?
    Par panthere noire dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 20/02/2012, 14h52
  3. Contrainte d'intégrité en INSERT
    Par remys dans le forum Requêtes
    Réponses: 5
    Dernier message: 12/02/2009, 09h57
  4. Insertion données avec contrainte non respectée
    Par yoyostras dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/05/2008, 16h20
  5. Insertion avec contraintes qui ne fonctionnent pas
    Par max44410 dans le forum Requêtes
    Réponses: 4
    Dernier message: 08/01/2008, 23h03

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