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 :

impossible de faire une simple requete d'insertion [WD25]


Sujet :

WinDev

  1. #21
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 904
    Points
    5 509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 904
    Points : 5 509
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par android59 Voir le message
    Ce que je trouve étrange egalement c'est le "0,1" de chaque coté de la table "établi_interv" , normalement ça devrait être 0,n c'est ça, n'y aurait il pas un soucis dans les liaisons ?
    En géneral non. Le (0,1) signifie que "etabli_interv" concerne d'une part 0 ou 1 personnne et d'autre part 0 ou 1 intervention.
    L'autre problème (qui n'a rien a voir avec les cardinalités) vient de ta définition d'intervention.
    Dans ta modélisation, chaque intervention est timestampée, ta table de relation est inutile, la même intervention e.g. changement d'ampoule entre le 06/01/2020 1400 et le 06/01/2023 1500 est du type (0,1)-(0,n). La table de relation existe si l'intervention est le changement d'ampoule et dans ce cas, le timestamp "passe" dans la table de relation.
    Concernant ton code, même si c'est "à la mode" évite de coder directement dans le bouton, ton code devient intestable. Il est préférable de créer des fonction/procédures et de les appeler dans le bouton. Chaque fonction correspond au actions définies dans l'opération concernée.
    Chaque fonction pourra être testée séparément
    Dans un deuxième temps pourquoi ouvres/fermes tu ta connexion à chaque enregistrement ?

  2. #22
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 174
    Points
    9 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 174
    Points : 9 670
    Par défaut
    J'ai modifié la section WD au lieu de Etats et Requetes.

  3. #23
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 904
    Points
    5 509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 904
    Points : 5 509
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Dans ta modélisation, chaque intervention est timestampée, ta table de relation est inutile, la même intervention e.g. changement d'ampoule entre le 06/01/2020 1400 et le 06/01/2023 1500 est du type (0,1)-(0,n). La table de relation existe si l'intervention est le changement d'ampoule et dans ce cas, le timestamp "passe" dans la table de relation.
    Dans le même ordre d'idée, dans ta table intervention on voit "demandeur". Dans le premier cas, (intervention timestampée) il apparaît en tant que FK, dans le 2° cas, sa PK peut être récupérée via une requête sur la table de relation. Il est donc inutile de faire un doublon.

  4. #24
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    965
    Points
    383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 965
    Points : 383
    Par défaut
    Bonjour,
    merci pour vos retours.

    EN parallèle, je suis en train de peaufiner certains points. J'ai réussi à réalisé une insertion d'une personne et d'une intervention, mais je n'arrive pas à récupérer la personne en fonction de ce que j'ai choisi dans un combobox,
    voici un aperçu de mon formulaire :

    Nom : collaborateur.JPG
Affichages : 86
Taille : 19,8 Ko

    comme vous le voyez, la liste se présente sous la forme prénom nom, dans ma table personne j'ai donc fait cela :

    Nom : personne.JPG
Affichages : 85
Taille : 15,7 Ko


    j'ai testé le code suivant, pour tenter de récupérer l'identifiant lié à la personne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	//	HRecherche(personne, personne.nom +" "+ personne.prenom, cb_collabo.ValeurAffichée)
    	personne.LitRecherchePremier(nomprenom,cb_collabo.ValeurAffichée)
    	SI personne.Trouve() ALORS
    		// Affiche les données du client
    		j'ai tenté de faire une info(... mais ça ne marche pas	
     
    	FIN
    mais ça ne marche pas.
    Par contre, juste après je fais l'insertion de la demande et là ça marche.

    Ici j'arrive à récupérer l'identifiant de la dernière demande que j'enregistre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		//1 - je recupère lidentifiant du dernier enregistrement		
    	    HLitDernier(Intervention,id_inter)// à conserver
    je garde ce code, car j'ai modifié mon mcd, mais je le conserve au cas ù car après en avoir discuté avec mon chef, j'ai remodelé le mcd, dans la table intervention, j'ai rajouté à la fin "idref personne" pour que lorsque je créé mon intervention, j'enregistre l'identifant de la personne, en fonction de la valeur affiché dans le combo, mais j'ai beau cherché, je sèce à cet endroit ..

    Merci beaucoup.

  5. #25
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 904
    Points
    5 509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 904
    Points : 5 509
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par android59 Voir le message
    j'ai testé le code suivant, pour tenter de récupérer l'identifiant lié à la personne :
    Il suffit dans la description, valeur mémorisée de sélectionner la PK on a alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    pkIndividu=COMBO_Individu
    Attention à HLitDernier.
    HLitDernier retourne le dernier enregistrement de la table, pas nécessairement le dernier enregistrement ajouté.
    Au fil de la vie de ta base, les index sont rééquilibrés (BTree) et les enregistrements ne seront plus dans l'ordre d'insertion.

  6. #26
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    965
    Points
    383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 965
    Points : 383
    Par défaut
    Bien le bonjour,
    grâce à vos conseils j'ai réussi , une partie du programme marche bien au niveau des insertions.
    J'ai refais les manipulations à tête reposé , je suis parti en mode " ne pas se prendre la tete avec windev " et j'ai compris le principe.

    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/03/2019, 18h40
  2. [Oracle] une simple requete d insertion
    Par Rukia dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/06/2007, 11h39
  3. impossible de faire une commande INSERT
    Par nirolioben dans le forum Requêtes
    Réponses: 4
    Dernier message: 16/11/2006, 17h14
  4. Impossible de faire une rupture programmée...
    Par Tchupacabra dans le forum WinDev
    Réponses: 1
    Dernier message: 03/03/2006, 14h49
  5. Comment faire une simple boucle de décrementation
    Par marcus333 dans le forum Langage
    Réponses: 5
    Dernier message: 05/02/2006, 14h24

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