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 :

Problème avec un Insert [WD14]


Sujet :

WinDev

  1. #1
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    969
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 969
    Points : 766
    Points
    766
    Par défaut Problème avec un Insert
    Bonjour à Tous,

    J'ai un problème qui me fait tourner en rond...

    Le contexte:

    La déclaration des variables et de la connexion à la BDD

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    gsSTOC_EMPL est une chaîne
    gsART_COL est une chaîne
    gsART_NOMAPPEL est une chaîne
    gsART_CODIM1 est une chaîne
    gsSTOC_ARTICLE est une chaîne
    gsART_CODIM2 est une chaîne
    gsValeur est une chaîne
    gsValeur1 est une chaîne
    gsValeur2 est une chaîne
     
     
    gnConn1 est un entier = SQLConnecte("Dominique_LOGITRACK","sa","Logitrack")
    gnConn2 est un entier = SQLConnecte("Dominique_LOGITRACK","sa","Logitrack")
    - J'interroge la table STOCKS avec comme conditions:
    a) La saison
    b) Le type de dépôt (selon CLIENTS ou BOUTIQUES)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    sRequeteGénérale est une chaîne="SELECT STOC_EMPLACEMENT,ART_COLLECTION,STOC_ARTICLE,ART_NOMAPPEL, ART_CODIM1,ART_CODIM2 "+...
    "FROM STOCKS, ARTICLES,EMPLACEMENTS "+...
    "WHERE  ART_CODE=STOC_ARTICLE AND EMPL_NOM=STOC_EMPLACEMENT AND EMPL_TYPE = '"+COMBO_DEPOT..ValeurAffichée+"' AND ART_COLLECTION = '"+COMBO_SAISON..ValeurAffichée+"' "+...
    "GROUP BY ART_NOMAPPEL, ART_CODIM1,EMPL_NOM,STOC_ARTICLE,ART_CODIM2,STOC_EMPLACEMENT,ART_COLLECTION "+...
    "ORDER BY ART_NOMAPPEL, ART_CODIM1 ASC "
    SI EnModeTest() ALORS Trace(sRequeteGénérale)
    //La boucle récupère les variables (colonnes fixes de la requête mère)
    	SI SQLExec(sRequeteGénérale,"reqGénérale") ALORS
    	TANTQUE SQLAvance("reqGénérale")=0
     
    		gsSTOC_EMPL=SQLLitCol("reqGénérale", 1)
    		gsART_COL=SQLLitCol("reqGénérale", 2)
    		gsSTOC_ARTICLE=SQLLitCol("reqGénérale", 3)
    		gsART_NOMAPPEL=SQLLitCol("reqGénérale", 4)	
    		gsART_CODIM1=SQLLitCol("reqGénérale", 5)
    		gsART_CODIM2=SQLLitCol("reqGénérale", 6)
     
    		SQLChangeConnexion(gnConn1)
     
    		//	gsValeur est une chaine
    		sRequeteQTE est une chaîne="SELECT STOC_QUANTITE FROM STOCKS, ARTICLES "+...
    		"WHERE ART_CODE=STOC_ARTICLE  "+... 
    		"AND ART_NOMAPPEL='"+gsART_NOMAPPEL+"' AND ART_CODIM1='"+gsART_CODIM1+"' AND STOC_ARTICLE = '"+gsSTOC_ARTICLE+"'  "
    		SI EnModeTest() ALORS Trace(sRequeteQTE)
    		SI SQLExec(sRequeteQTE,"ReqQTE") ALORS
    			SI SQLAvance("ReqQTE")=0 ALORS
    				gsValeur=SQLLitCol("ReqQTE", 1)
    			FIN
    FIN
     
    TableAjouteLigne(TABLE_MEMO,gsSTOC_EMPL,gsART_COL,gsSTOC_ARTICLE,gsART_NOMAPPEL,gsART_CODIM1,gsART_CODIM2,gsValeur)	
    SQLChangeConnexion(gnConn2)
    FIN
    SINON
    	SQLInfoGene("reqGénérale")
    	Trace("Erreur SQL R1 : ", SQL.MesErreur)
    FIN
    De cette requête, j'affiche le résultat dans une table mémoire "TABLE_MEMO"

    De là:
    a) Je créais un numéro de mémorisation d'inventaire et l'insère dans la table INVENTAIRES_COMPTEUR
    b) Je "mémorise" ces données dans la table INVENTAIRES.
    "Mémorise = j'insère les données de la table mémoire "TABLE_MEMO"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    SI OuiNon("Veuillez confirmer la création de la mission")=Vrai ALORS
    Sablier(Vrai)
    // CREATION DU NUMERO DE MISSION
    sVariable1 est une chaîne
    sSuffixe1 est une chaîne
    sDate est une chaîne=DateSys()
    NouveauCode est une chaîne
    sREQ est une chaîne="SELECT MAX(INVENTAIRE_NUM) FROM INVENTAIRES_COMPTEUR  "
    SI EnModeTest() ALORS Trace("Dernier num Compteur - ", sREQ)
    SI	SQLExec(sREQ,"REQ1") ALORS
    	SI	SQLAvance("REQ1") = 0 ALORS
    		sVariable1=SQLLitCol("REQ1", 1)
    		sVariable1=ExtraitChaîne(sVariable1,3,"-")
    		sSuffixe1=Gauche(sVariable1,5)
    		sSuffixe1=NumériqueVersChaîne(Val(sSuffixe1)+1,"05d")
    		NouveauCode="INV"+"-"+sDate+"-"+sSuffixe1 // Constitution du nouveau numéro
    	FIN
    SINON
    	NouveauCode="INV"+"-"+sDate+"-"+"00001"
    FIN
    SQLFerme("REQ1")
    FIN
    sReqCompteur est une chaîne="INSERT INTO INVENTAIRES_COMPTEUR (INVENTAIRE_NUM) VALUES ('"+NouveauCode+"') "
    SI EnModeTest() ALORS Trace("Création Compteur - ",sReqCompteur )
    SI SQLExec(sReqCompteur,"ReqCompteur") ALORS
     
    	FIN
    //SELECTION DE TOUTES LES LIGNES DE LA TABLE
    POUR TOUTE LIGNE DE TABLE_MEMO
    	TABLE_MEMO.SELECTION=Vrai
    	FIN
    SQLChangeConnexion(gnConn1)
    sHeure est une chaîne=HeureSys()
    sSite est une chaîne="PANTIN"
    sPropriétaire est une chaîne="APOSTROPHE"
    sEtat est une chaîne="1"
    i est un entier
    //INSERTION DES LIGNES DANS LA TABLE DES MISSIONS
    	POUR i = 1 A TableOccurrence(TABLE_MEMO) 
    	sRequêteMission est une chaîne
    	sRequêteMission="INSERT INTO INVENTAIRES(INVE_NUM,INVE_SITE,INVE_PROPRIETAIRE,INVE_EMPLACEMENT,INVE_ARTICLE,INVE_QTE_MEMO,INVE_ETAT,INVE_DATE_MEMO,INVE_HEURE_MEMO) "+...
    	"VALUES ('"+NouveauCode+"','"+sSite+"','"+sPropriétaire+"','"+TABLE_MEMO.COL_EMPLACEMENT[i]+"','"+TABLE_MEMO.COL_UVC[i]+"','"+TABLE_MEMO.COL_QUANTITE[i]+"','"+sEtat+"','"+DateSys()+"','"+sHeure+"') "
    	SI EnModeTest() ALORS Trace(sRequêteMission) 
    	SI SQLExec(sRequêteMission,"ReqMission") ALORS
     
    	FIN
    FIN
    SQLFerme("ReqMission")
    SQLChangeConnexion(gnConn2)
    //PASSAGE AUTOMATIQUE A L'ONGLET N°3
    ONG_Onglet1=3
    Sablier(Faux)
    En dernier lieu, j'affiche le détail de l'INSERT:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    sRequêteMémorisé est une chaîne
    sRequêteMémorisé="SELECT INVE_NUM,INVE_SITE,INVE_PROPRIETAIRE,INVE_EMPLACEMENT,INVE_ARTICLE,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,INVE_QTE_MEMO,INVE_DATE_MEMO "+...
    "FROM INVENTAIRES,ARTICLES WHERE ART_CODE=INVE_ARTICLE "+...
    "GROUP BY INVE_NUM,INVE_SITE,INVE_PROPRIETAIRE,INVE_EMPLACEMENT,INVE_ARTICLE,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,INVE_QTE_MEMO,INVE_DATE_MEMO "
    SI EnModeTest() ALORS Trace(sRequêteMémorisé)
    SI SQLExec(sRequêteMémorisé,"ReqMémorisé") ALORS
    	SI SQLTable("ReqMémorisé",TABLE_MEMO1) ALORS
     
    	FIN
    SINON
    	SQLInfoGene("ReqMémorisé")
    	Trace("Erreur SQL R1 : ", SQL.MesErreur)
    FIN
    SQLFerme("ReqMémorisé")

    LE PROBLEME:

    Je possède deux type de dépôt:
    a) R-CLI-PIK pour CLIENTS
    b) R-BOU-PIK pour BOUTIQUES.

    Lorsque je sélectionne R-CLI-PIK dans la combo, tout va bien et tout fonctionne, par contre lorsque je sélectionne R-BOU-PIK, l'INSERT ne se fait pas.
    Le plus curieux est que si je prend le trace et que je la test, cela fonctionne.

    Je fais appel à vous, car je dois être dessus depuis trop longtemps et je ne vois absolument pas ou est mon problème.

    Par avance merci pour votre aide éventuel.
    Et très bonne journée à Tous
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  2. #2
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    969
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 969
    Points : 766
    Points
    766
    Par défaut Solution
    Re Bonjour à Tous,

    Et bien en fait, j'ai fini par trouver mon erreur (à croire que le fait d'écrire sur le Forum....)

    Solution:

    Dans le code de la combo me servant à sélectionner le numéro de la mission, il manquait un SQLChangeConnexion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SQLChangeConnexion(gnConn1)
    sRequêteNumMission est une chaîne
    sRequêteNumMission="SELECT INVE_NUM FROM INVENTAIRES WHERE INVE_ETAT=1 GROUP BY INVE_NUM ORDER BY INVE_NUM "
    //SI EnModeTest() ALORS Trace(sRequêteNumMission)
    SI SQLExec(sRequêteNumMission,"ReqNumMission") ALORS
    	SQLTable("ReqNumMission",COMBO_MISSION)
    	
    FIN
    Désolé de vous avoir dérangé, mais cela m'a au moins permis de résoudre mon souci

    Très bonne après midi à Tous et Toutes
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


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

Discussions similaires

  1. Problème avec un INSERT
    Par nnj dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 01/08/2006, 15h51
  2. Problème avec l'insertion d'une image dans JPanel
    Par anutka dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 16/03/2006, 10h02
  3. [C#] problème avec l'insertion des données dans MySQL
    Par madica dans le forum Accès aux données
    Réponses: 7
    Dernier message: 08/11/2005, 13h27
  4. [DREAM MX] Problème avec une insertion d'une anim' flash
    Par Mout85 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 16/09/2005, 12h47
  5. [MFC] problème avec les insertions dans CComboBox
    Par Joeleclems dans le forum MFC
    Réponses: 12
    Dernier message: 11/06/2004, 15h31

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