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 :

Requete INSERT [WD14]


Sujet :

WinDev

  1. #21
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Désolé. Je m'y perd toujours autant : je n''arrive pas a relier tes trace avec ton code.

    fais ce que je t'ai demandé stp. numérote tes trace et modifie les de maniere a ce que trace(texte) devienne trace(numéro, texte).

    puis redonne moi le code et les trace.
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  2. #22
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    938
    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 : 938
    Points : 758
    Points
    758
    Par défaut
    Bon, cette fois ci, j'ai remis toutes les traces comme précédement, mais je les ai numérotées de 1 à 6 et je l'ai testé, les numéros s'affichent bien

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    POUR i = 1 A 10
    	SI TABLE_CODIM1.SELECTION[i] ALORS
    		POUR j=1 A TableOccurrence(CODIM2_SUS)
    			SI CODIM2_SUS.SELECTION[j] ALORS
     
    // Contrôle si l'article en création existe déjà dans la base de données	
    variable est une chaîne
    Suffixe est une chaîne
    NouveauCode est une chaîne
     
    sRequete est une chaîne="SELECT ART_CODE FROM ARTICLES WHERE ART_CODE LIKE '"+SAI_ART_CODE+"%'  ORDER BY ART_CODE DESC "
    //SI EnModeTest() ALORS Trace(sRequete)
    SI	SQLExec(sRequete,"REQ") ALORS
    	SI	SQLAvance("REQ") = 0 ALORS
    		variable=SQLLitCol("REQ", 1)
    		SI EnModeTest() ALORS Trace("TRACE N°1", ExtraitChaîne(variable,2,"\"))
    		Suffixe=ExtraitChaîne(variable,2,"\") // Récupération de ce qu'il y a après l'anti-slash
    		SI EnModeTest() ALORS Trace("TRACE N°2", Val(Suffixe)+1)
    		Suffixe=Val(Suffixe)+1 	// Incrémente de 1 l'UVC
    		SI EnModeTest() ALORS Trace("TRACE N°3", ExtraitChaîne(variable,1,"\")+"\"+Suffixe)
    		NouveauCode=ExtraitChaîne(variable,1,"\")+"\"+Suffixe // Constitution de la nouvelle UVC
     
    		SINON
    			SI EnModeTest() ALORS Trace("TRACE N°4", SAI_ART_CODE+"\1")
    			NouveauCode=SAI_ART_CODE+"\1"
    		FIN
     
    //Sélectionne le dernier code barre
    sVariable_EAN est une chaîne
    préfixe_AEN est une chaîne
    nouveauCode_AEN est une chaîne
    Cle est une chaîne
    Total est un entier
    Requete est une chaîne="SELECT MAX(ART_CODEBARRE) FROM ARTICLES " 
    SI SQLExec(Requete, "REQ1") ALORS
    	SI SQLAvance("REQ1")=0 ALORS
    		sVariable_EAN=SQLLitCol("REQ1", 1)
    		SI EnModeTest() ALORS Trace("TRACE N°5", Gauche(sVariable_EAN,12))
    		préfixe_AEN=Gauche(sVariable_EAN,12)
    //		SI EnModeTest() ALORS Trace(Val(préfixe_AEN)+1)
    		préfixe_AEN=Val(préfixe_AEN)+1
    	    FIN
    	 	FIN
     
    //calcul du caractère de contrôle
    POUR ii = 1 A Taille(préfixe_AEN)        //Code est les 12 premiers caractères du code barre
    SI EstPair(ii) ALORS
    	Total+=Val(préfixe_AEN[[ii]])*3
    SINON
    	Total+=Val(préfixe_AEN[[ii]])
    FIN
    FIN
    Cle = ((PartieEntière(Total/10)+1)*10)-Total
    SI Cle = 10 ALORS
    	Cle = 0
    FIN  
    nouveauCode_AEN=0+préfixe_AEN + Cle 
     
     
     
    				// Si les données n'existe pas alors INSERT INTO ajoute les données 
    	Requete1 est une chaîne="INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) "+...
    	"VALUES('"+NouveauCode+"','"+NouveauCode+"','"+SAI_ART_NOMAPPEL+"','"+TABLE_CODIM1.COL_CODE[i]+"','"+CODIM2_SUS.SUS_CODE[j]+"','"+SAI_CREATION+"','"+SAI_DATE_MODIF+"','"+SAI_ART_LIBRE1+"','"+SAI_ART_NOM+"','"+COMBO_COLLEC+"','"+COMBO_ART_FOUR+"','"+COMBO_ART_MARQUE+"','"+COMBO_COMPOSITION+"','"+nouveauCode_AEN+"','"+COMBO_ORIGINE1+"','"+COMBO_TYPE1+"','"+SAI_EPA+"','"+SAI_EPVD4+"') "
    	SI EnModeTest() ALORS Trace("TRACE N°6", Requete1)
    	SI	SQLExec(Requete1,"REQ10") ALORS
     
    			FIN
    				FIN
    					FIN
    						FIN	
    						FIN
    						FIN
    Raptor92
    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


  3. #23
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Oui mais il faut me les donner...
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  4. #24
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    938
    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 : 938
    Points : 758
    Points
    758
    Par défaut
    J'étais justement en train de me dire : pas de panique, l'asile se rapproche

    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
    TRACE N°4 ZA-MAGALI\1
    TRACE N°5 066000052655
    TRACE N°6 INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI\1','ZA-MAGALI\1','','10','36','20090715','20090715','','','RH09','','','','0660000526568','','','0','0') 
    TRACE N°1 1
    TRACE N°2 2
    TRACE N°3 ZA-MAGALI\2
    TRACE N°5 066000052656
    TRACE N°6 INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI\2','ZA-MAGALI\2','','10','38','20090715','20090715','','','RH09','','','','0660000526575','','','0','0') 
    TRACE N°1 2
    TRACE N°2 3
    TRACE N°3 ZA-MAGALI\3
    TRACE N°6 INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI\3','ZA-MAGALI\3','','10','40','20090715','20090715','','','RH09','','','','0660000526572','','','0','0') 
    TRACE N°1 2
    TRACE N°2 3
    TRACE N°3 ZA-MAGALI\3
    TRACE N°6 INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI\3','ZA-MAGALI\3','','10','42','20090715','20090715','','','RH09','','','','0660000526579','','','0','0') 
    TRACE N°1 2
    TRACE N°2 3
    TRACE N°3 ZA-MAGALI\3
    TRACE N°6 INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI\3','ZA-MAGALI\3','','10','44','20090715','20090715','','','RH09','','','','0660000526576','','','0','0') 
    TRACE N°1 2
    TRACE N°2 3
    TRACE N°3 ZA-MAGALI\3
    TRACE N°6 INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI\3','ZA-MAGALI\3','','10','46','20090715','20090715','','','RH09','','','','0660000526573','','','0','0')
    Raptor92
    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


  5. #25
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Bon...

    J'ai vu un truc. je ne sais pas si ça resoudre ton tes problèmes mais il y a une erreur dans ton code barre en effet tu fais à un endroit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nouveauCode_AEN=0+préfixe_AEN + Cle
    il faudrait faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nouveauCode_AEN=préfixe_AEN + Cle
    A demain
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  6. #26
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    938
    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 : 938
    Points : 758
    Points
    758
    Par défaut
    Bonjour,

    J'ai en effet enlevé cette partie, ce qui n'a pas résolu le problème, par contre, lorsque je regarde les traces, les n°5 et 6 ne fonctionnent qu'une seule fois.

    Et je ne vois pas pourquoi

    Raptor92
    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


  7. #27
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    938
    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 : 938
    Points : 758
    Points
    758
    Par défaut
    BON....................

    Je crois avoir détecté d'où vient le problème.

    Le code incrémente bien de 1 le deuxième code barre, mais c'est tout, après le code barre reste inchangé pour les autres insertions, et de fait cela ne fonctionne pas.

    Je te remets le code et les traces que j'ai intitulé pour une meilleure compréhension

    Le code

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    POUR i = 1 A 10
    	SI TABLE_CODIM1.SELECTION[i] ALORS
    		POUR j=1 A TableOccurrence(CODIM2_SUS)
    			SI CODIM2_SUS.SELECTION[j] ALORS
     
    // Contrôle si l'article en création existe déjà dans la base de données	
    variable est une chaîne
    Suffixe est une chaîne
    NouveauCode est une chaîne
     
    sRequete est une chaîne="SELECT ART_CODE FROM ARTICLES WHERE ART_CODE LIKE '"+SAI_ART_CODE+"%'  ORDER BY ART_CODE DESC "
    //SI EnModeTest() ALORS Trace(sRequete)
    SI	SQLExec(sRequete,"REQ") ALORS
    	SI	SQLAvance("REQ") = 0 ALORS
    		variable=SQLLitCol("REQ", 1)
    		SI EnModeTest() ALORS Trace("TRACE N°1-Récupere après \-", ExtraitChaîne(variable,2,"\"))
    		Suffixe=ExtraitChaîne(variable,2,"\") // Récupération de ce qu'il y a après l'anti-slash
    		SI EnModeTest() ALORS Trace("TRACE N°2- Incrémente de 1-", Val(Suffixe)+1)
    		Suffixe=Val(Suffixe)+1 	// Incrémente de 1 l'UVC
    		SI EnModeTest() ALORS Trace("TRACE N°3- Nouvelle UVC-", ExtraitChaîne(variable,1,"\")+"\"+Suffixe)
    		NouveauCode=ExtraitChaîne(variable,1,"\")+"\"+Suffixe // Constitution de la nouvelle UVC
     
    		SINON
    			SI EnModeTest() ALORS Trace("TRACE N°4-Création si inexistant-", SAI_ART_CODE+"\1")
    			NouveauCode=SAI_ART_CODE+"\1"
    		FIN
     
    //Sélectionne le dernier code barre
    sVariable_EAN est une chaîne
    préfixe_AEN est une chaîne
    nouveauCode_AEN est une chaîne
    Cle est un entier
    nTotal est un entier
    Requete est une chaîne="SELECT MAX(ART_CODEBARRE) FROM ARTICLES " 
    SI SQLExec(Requete, "REQ1") ALORS
    	SI SQLAvance("REQ1")=0 ALORS
    		sVariable_EAN=SQLLitCol("REQ1", 1)
    		SI EnModeTest() ALORS Trace("TRACE N°5", Gauche(sVariable_EAN,12))
    		préfixe_AEN=Gauche(sVariable_EAN,12)
    		SI EnModeTest() ALORS Trace("TRACE N°6", Val(préfixe_AEN)+1)
    		préfixe_AEN=Val(préfixe_AEN)+1
    	    FIN
    	 	FIN
     
    //calcul du caractère de contrôle
    POUR ii = 1 A Taille(préfixe_AEN)        //Code est les 12 premiers caractères du code barre
    SI EstPair(ii) ALORS
    	nTotal+=Val(préfixe_AEN[[ii]])*3
    SINON
    	nTotal+=Val(préfixe_AEN[[ii]])
    FIN
    FIN
    Cle = ((PartieEntière(nTotal/10)+1)*10)-nTotal
    SI Cle = 10 ALORS
    	Cle = 0
    FIN  
    nouveauCode_AEN=préfixe_AEN + Cle 
     
     
     
    				// Si les données n'existe pas alors INSERT INTO ajoute les données 
    	Requete1 est une chaîne="INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) "+...
    	"VALUES('"+NouveauCode+"','"+NouveauCode+"','"+SAI_ART_NOMAPPEL+"','"+TABLE_CODIM1.COL_CODE[i]+"','"+CODIM2_SUS.SUS_CODE[j]+"','"+SAI_CREATION+"','"+SAI_DATE_MODIF+"','"+SAI_ART_LIBRE1+"','"+SAI_ART_NOM+"','"+COMBO_COLLEC+"','"+COMBO_ART_FOUR+"','"+COMBO_ART_MARQUE+"','"+COMBO_COMPOSITION+"','"+nouveauCode_AEN+"','"+COMBO_ORIGINE1+"','"+COMBO_TYPE1+"','"+SAI_EPA+"','"+SAI_EPVD4+"') "
    	SI EnModeTest() ALORS Trace("TRACE N°7- Insertion des données-", Requete1)
    	SI	SQLExec(Requete1,"REQ10") ALORS
     
    			FIN
    				FIN
    					FIN
    						FIN	
    						FIN
    						FIN
    Les traces:
    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
     
    TRACE N°4-Création si inexistant- ZA-MAGALI\1
    TRACE N°5 066000052655
    TRACE N°6 66000052656
    TRACE N°7- Insertion des données- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI\1','ZA-MAGALI\1','','10','36','20090715','20090715','','','RH09','','','','660000526568','','','0','0') 
    TRACE N°1-Récupere après \- 1
    TRACE N°2- Incrémente de 1- 2
    TRACE N°3- Nouvelle UVC- ZA-MAGALI\2
    TRACE N°5 660000526568
    TRACE N°6 660000526569
    TRACE N°7- Insertion des données- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI\2','ZA-MAGALI\2','','10','38','20090715','20090715','','','RH09','','','','6600005265699','','','0','0') 
    TRACE N°1-Récupere après \- 2
    TRACE N°2- Incrémente de 1- 3
    TRACE N°3- Nouvelle UVC- ZA-MAGALI\3
    TRACE N°7- Insertion des données- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI\3','ZA-MAGALI\3','','10','40','20090715','20090715','','','RH09','','','','6600005265690','','','0','0')
    Raptor92
    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


  8. #28
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    938
    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 : 938
    Points : 758
    Points
    758
    Par défaut Complément au message précédent
    RE..............

    Je pense que mon problème est à cet endroit, en effet, je dois avoir une erreur sur cette portion de code, car dés que le deuxième code barre est crée, la requête renvoi toujours le deuxième code barre crée.

    Et là, je ne sais plus comment faire

    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
    //Sélectionne le dernier code barre
    sVariable_EAN est une chaîne
    préfixe_AEN est une chaîne
    nouveauCode_AEN est une chaîne
    Cle est un entier
    nTotal est un entier
    Requete est une chaîne="SELECT MAX(ART_CODEBARRE) FROM ARTICLES " 
    SI SQLExec(Requete, "REQ1") ALORS
    	SI SQLAvance("REQ1")=0 ALORS
    		sVariable_EAN=SQLLitCol("REQ1", 1)
    		SI EnModeTest() ALORS Trace("TRACE N°5", Gauche(sVariable_EAN,12))
    		préfixe_AEN=Gauche(sVariable_EAN,12)
    		SI EnModeTest() ALORS Trace("TRACE N°6", Val(préfixe_AEN)+1)
    		préfixe_AEN=Val(préfixe_AEN)+1
    	    FIN
    	 	FIN
    Si tu regarde les traces, on remarque qu'au 3 eme insert, le code barre reste identique au 2 eme.
    J'imagine avoir un problème sur la requête elle même, mais lequel ??

    PS: Je te laisse un MP pour le boulot

    Raptor92
    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


  9. #29
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Ah je crois que j'ai compris. En faut ton CB commence par un zéro d'ou le 0 que tu ajoutais maladroitement a ton cb a un moment et que je t'ai fait enlever.

    En fait au lieu de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    préfixe_AEN=Val(préfixe_AEN)+1
    Il faudrait faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    préfixe_AEN=numériqueverschaine(Val(préfixe_AEN)+1,"012d)
    Et là ça devrait marcher...

    PS : Merci
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  10. #30
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    938
    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 : 938
    Points : 758
    Points
    758
    Par défaut
    Bonjour,

    Et bien nous avons résolu le problème du format de code barre, cela fonctionne, en effet, ta solution est bonne

    Pour autant, j'ai compris d'où vient le problème, si tu regarde les traces, tu verra que la requête va chercher dans la table article le dernier code barre et l'incrémente de 1, mais ensuite la boucle fait qu'elle va rechercher toujours le même code barre et non pas celui qui a été incrémenté.
    Du coût, cela ne génère qu'un seul nouveau code barre


    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
    TRACE N°4-Création si inexistant- ZA-MAGALI\cf111
    TRACE N°5- Extraction de AEN13- 066000052655
    TRACE N°6- Incrémente de 1 AEN- 66000052656
    TRACE N°7- Insertion- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI1','ZA-MAGALI1','','10','36','20090716','20090716','','','RH09','','','','0660000526568','','','0','0') 
    TRACE N°1-Récupere après \cf11- 1
    TRACE N°2- Incrémente de 1- 2
    TRACE N°3- Nouvelle UVC- ZA-MAGALI\cf112
    TRACE N°5- Extraction de AEN13- 066000052656
    TRACE N°6- Incrémente de 1 AEN- 66000052657
    TRACE N°7- Insertion- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI2','ZA-MAGALI2','','10','38','20090716','20090716','','','RH09','','','','0660000526573','','','0','0') 
    TRACE N°1-Récupere après \cf11- 2
    TRACE N°2- Incrémente de 1- 3
    TRACE N°3- Nouvelle UVC- ZA-MAGALI\cf113
    TRACE N°7- Insertion- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI3','ZA-MAGALI3','','10','40','20090716','20090716','','','RH09','','','','0660000526578','','','0','0')
    Raptor92
    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


  11. #31
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Mais ça devrait marcher maintenant non ?
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  12. #32
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    938
    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 : 938
    Points : 758
    Points
    758
    Par défaut
    Ben non,

    Regarde la trace, le code barre ne n'incrémente de 1 qu'1 seule fois, par contre, il est maintenant dans le bon format

    Raptor92
    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


  13. #33
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Ok peux tu me redonner le code entièrement stp ?
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  14. #34
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    938
    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 : 938
    Points : 758
    Points
    758
    Par défaut
    Et be voilà,

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    POUR i = 1 A 10
    	SI TABLE_CODIM1.SELECTION[i] ALORS
    		POUR j=1 A TableOccurrence(CODIM2_SUS)
    			SI CODIM2_SUS.SELECTION[j] ALORS
     
    // Contrôle si l'article en création existe déjà dans la base de données	
    variable est une chaîne
    Suffixe est une chaîne
    NouveauCode est une chaîne
     
    sRequete est une chaîne="SELECT ART_CODE FROM ARTICLES WHERE ART_CODE LIKE '"+SAI_ART_CODE+"%'  ORDER BY ART_CODE DESC "
    //SI EnModeTest() ALORS Trace(sRequete)
    SI	SQLExec(sRequete,"REQ") ALORS
    	SI	SQLAvance("REQ") = 0 ALORS
    		variable=SQLLitCol("REQ", 1)
    		SI EnModeTest() ALORS Trace("TRACE N°1-Récupere après \-", ExtraitChaîne(variable,2,"\"))
    		Suffixe=ExtraitChaîne(variable,2,"\") // Récupération de ce qu'il y a après l'anti-slash
    		SI EnModeTest() ALORS Trace("TRACE N°2- Incrémente de 1-", Val(Suffixe)+1)
    		Suffixe=Val(Suffixe)+1 	// Incrémente de 1 l'UVC
    		SI EnModeTest() ALORS Trace("TRACE N°3- Nouvelle UVC-", ExtraitChaîne(variable,1,"\")+"\"+Suffixe)
    		NouveauCode=ExtraitChaîne(variable,1,"\")+"\"+Suffixe // Constitution de la nouvelle UVC
     
    		SINON
    			SI EnModeTest() ALORS Trace("TRACE N°4-Création si inexistant-", SAI_ART_CODE+"\1")
    			NouveauCode=SAI_ART_CODE+"\1"
    		FIN
     
    //Sélectionne le dernier code barre
    sVariable_EAN est une chaîne
    préfixe_AEN est une chaîne
    nouveauCode_AEN est une chaîne
    Cle est une chaîne
    nTotal est un entier
    Requete est une chaîne="SELECT MAX(ART_CODEBARRE) FROM ARTICLES " 
    SI SQLExec(Requete, "REQ1") ALORS
    	SI SQLAvance("REQ1")=0 ALORS
    		sVariable_EAN=SQLLitCol("REQ1", 1)
    		SI EnModeTest() ALORS Trace("TRACE N°5- Extraction de AEN13-", Gauche(sVariable_EAN,12))
    		préfixe_AEN=Gauche(sVariable_EAN,12)
    		SI EnModeTest() ALORS Trace("TRACE N°6- Incrémente de 1 AEN-", Val(préfixe_AEN)+1)
    	//	préfixe_AEN=Val(préfixe_AEN)+1
    		préfixe_AEN=NumériqueVersChaîne(Val(préfixe_AEN)+1,"012d")
    	    FIN
    	 	FIN
     
    //calcul du caractère de contrôle
    POUR ii = 1 A Taille(préfixe_AEN)        //Code est les 12 premiers caractères du code barre
    SI EstPair(ii) ALORS
    	nTotal+=Val(préfixe_AEN[[ii]])*3
    SINON
    	nTotal+=Val(préfixe_AEN[[ii]])
    FIN
    FIN 
    Cle = ((PartieEntière(nTotal/10)+1)*10)-nTotal
    SI Cle = 10 ALORS
    	Cle = 0
    FIN
     
    nouveauCode_AEN=préfixe_AEN + Cle
     
     
    					// Si les données n'existe pas alors INSERT INTO ajoute les données 
    					Requete1 est une chaîne="INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) "+...
    					"VALUES('"+NouveauCode+"','"+NouveauCode+"','"+SAI_ART_NOMAPPEL+"','"+TABLE_CODIM1.COL_CODE[i]+"','"+CODIM2_SUS.SUS_CODE[j]+"','"+SAI_CREATION+"','"+SAI_DATE_MODIF+"','"+SAI_ART_LIBRE1+"','"+SAI_ART_NOM+"','"+COMBO_COLLEC+"','"+COMBO_ART_FOUR+"','"+COMBO_ART_MARQUE+"','"+COMBO_COMPOSITION+"','"+nouveauCode_AEN+"','"+COMBO_ORIGINE1+"','"+COMBO_TYPE1+"','"+SAI_EPA+"','"+SAI_EPVD4+"') "
    					SI EnModeTest() ALORS Trace("TRACE N°7- Insertion-", Requete1)
    					SI	SQLExec(Requete1,"REQ10") ALORS
     
    					FIN
    				FIN
    			FIN
    		FIN	
    	FIN
    FIN
     
    SI OuiNon("Vous êtes sur le point de créer un article, veuillez confirmer votre choix") ALORS
    		Info("La fiche article a été créée")
    FIN
    Raptor92
    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


  15. #35
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    J'ai un peu de mal a suivre la trace peuc tu remplacer dans le code les lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SI EnModeTest() ALORS Trace("TRACE N°6- Incrémente de 1 AEN-", Val(préfixe_AEN)+1)
    //préfixe_AEN=Val(préfixe_AEN)+1
    préfixe_AEN=NumériqueVersChaîne(Val(préfixe_AEN)+1,"012d")
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    préfixe_AEN=NumériqueVersChaîne(Val(préfixe_AEN)+1,"012d")
    SI EnModeTest() ALORS Trace("TRACE N°6- Incrémente de 1 AEN-", préfixe_AEN)
    et me redonner la trace
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  16. #36
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    938
    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 : 938
    Points : 758
    Points
    758
    Par défaut
    Voilà la nouvelle trace
    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
     
    TRACE N°4-Création si inexistant- ZA-MAGALI\cf11cf111
    TRACE N°5- Extraction de AEN13- 066000052655
    TRACE N°6- Incrémente de 1 AEN- 066000052656
    TRACE N°7- Insertion- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI1','ZA-MAGALI1','','10','36','20090716','20090716','','','RH09','','','','0660000526568','','','0','0') 
    TRACE N°1-Récupere après \cf11cf11- 1
    TRACE N°2- Incrémente de 1- 2
    TRACE N°3- Nouvelle UVC- ZA-MAGALI\cf11cf112
    TRACE N°5- Extraction de AEN13- 066000052656
    TRACE N°6- Incrémente de 1 AEN- 066000052657
    TRACE N°7- Insertion- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI2','ZA-MAGALI2','','10','38','20090716','20090716','','','RH09','','','','0660000526573','','','0','0') 
    TRACE N°1-Récupere après \cf11cf11- 2
    TRACE N°2- Incrémente de 1- 3
    TRACE N°3- Nouvelle UVC- ZA-MAGALI\cf11cf113
    TRACE N°7- Insertion- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI3','ZA-MAGALI3','','10','40','20090716','20090716','','','RH09','','','','0660000526578','','','0','0')
    C'est bizarre, les traces 5 et 6 ne fonctionnent que pour les 2 premières UVC

    Raptor92
    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


  17. #37
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Peux tu essayer avec ce code et me redonner la trace :

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    POUR i = 1 A 10
    	SI TABLE_CODIM1.SELECTION[i] ALORS
    		POUR j=1 A TableOccurrence(CODIM2_SUS)
    			SI CODIM2_SUS.SELECTION[j] ALORS
     
    				// Contrôle si l'article en création existe déjà dans la base de données	
    				variable est une chaîne
    				Suffixe est une chaîne
    				NouveauCode est une chaîne
     
    				sRequete est une chaîne="SELECT ART_CODE FROM ARTICLES WHERE ART_CODE LIKE '"+SAI_ART_CODE+"%'  ORDER BY ART_CODE DESC "
    				//SI EnModeTest() ALORS Trace(sRequete)
    				SI	SQLExec(sRequete,"REQ") ALORS
    					SI	SQLAvance("REQ") = 0 ALORS
    						variable=SQLLitCol("REQ", 1)
    						SI EnModeTest() ALORS Trace("TRACE N°1-Récupere après \-", ExtraitChaîne(variable,2,"\"))
    						Suffixe=ExtraitChaîne(variable,2,"\") // Récupération de ce qu'il y a après l'anti-slash
    						SI EnModeTest() ALORS Trace("TRACE N°2- Incrémente de 1-", Val(Suffixe)+1)
    						Suffixe=Val(Suffixe)+1 	// Incrémente de 1 l'UVC
    						SI EnModeTest() ALORS Trace("TRACE N°3- Nouvelle UVC-", ExtraitChaîne(variable,1,"\")+"\"+Suffixe)
    						NouveauCode=ExtraitChaîne(variable,1,"\")+"\"+Suffixe // Constitution de la nouvelle UVC
     
    					SINON
    						SI EnModeTest() ALORS Trace("TRACE N°4-Création si inexistant-", SAI_ART_CODE+"\1")
    						NouveauCode=SAI_ART_CODE+"\1"
    					FIN
     
    					//Sélectionne le dernier code barre
    					sVariable_EAN est une chaîne
    					prefixe_AEN est une chaîne
    					nouveauCode_AEN est une chaîne
    					Cle est une chaîne
    					nTotal est un entier
    					Requete est une chaîne="SELECT MAX(ART_CODEBARRE) FROM ARTICLES " 
    					SI SQLExec(Requete, "REQ1") ALORS
    						SI SQLAvance("REQ1")=0 ALORS
    							sVariable_EAN=SQLLitCol("REQ1", 1)
    							SI EnModeTest() ALORS Trace("TRACE N°5- Extraction de AEN13-", Gauche(sVariable_EAN,12))
    							prefixe_AEN=Gauche(sVariable_EAN,12)
    							prefixe_AEN=NumériqueVersChaîne(Val(prefixe_AEN)+1,"012d")
    							SI EnModeTest() ALORS Trace("TRACE N°6- Incrémente de 1 AEN-", prefixe_AEN)
    						FIN
    					SINON
    						SQLInfoGene("REQ1")
    						Trace("Erreur SQL R1 : ", SQL.MesErreur)
    					FIN
     
    					SQLFerme("REQ1")
     
    					//calcul du caractère de contrôle
    					POUR ii = 1 A Taille(prefixe_AEN)        //Code est les 12 premiers caractères du code barre
    						SI EstPair(ii) ALORS
    							nTotal+=Val(prefixe_AEN[[ii]])*3
    						SINON
    							nTotal+=Val(prefixe_AEN[[ii]])
    						FIN
    					FIN 
    					Cle = ((PartieEntière(nTotal/10)+1)*10)-nTotal
    					SI Cle = 10 ALORS
    						Cle = 0
    					FIN
     
    					nouveauCode_AEN=prefixe_AEN + Cle
     
     
    					// Si les données n'existe pas alors INSERT INTO ajoute les données 
    					Requete1 est une chaîne="INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) "+...
    					"VALUES('"+NouveauCode+"','"+NouveauCode+"','"+SAI_ART_NOMAPPEL+"','"+TABLE_CODIM1.COL_CODE[i]+"','"+CODIM2_SUS.SUS_CODE[j]+"','"+SAI_CREATION+"','"+SAI_DATE_MODIF+"','"+SAI_ART_LIBRE1+"','"+SAI_ART_NOM+"','"+COMBO_COLLEC+"','"+COMBO_ART_FOUR+"','"+COMBO_ART_MARQUE+"','"+COMBO_COMPOSITION+"','"+nouveauCode_AEN+"','"+COMBO_ORIGINE1+"','"+COMBO_TYPE1+"','"+SAI_EPA+"','"+SAI_EPVD4+"') "
    					SI EnModeTest() ALORS Trace("TRACE N°7- Insertion-", Requete1)
    					SI	SQLExec(Requete1,"REQ10") ALORS
     
    					FIN
    					SQLFerme("REQ10")
    				FIN
    			FIN
    		FIN	
    	FIN
    FIN
     
    SI OuiNon("Vous êtes sur le point de créer un article, veuillez confirmer votre choix") ALORS
    Info("La fiche article a été créée")
    FIN
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  18. #38
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    938
    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 : 938
    Points : 758
    Points
    758
    Par défaut
    Voila la trace,

    De plus, ne pense tu pas que j'ai un problème sur le premier select 'voir en dessous), j'ai en effet l'impression qu'il va chercher la première UVC et ensuite il ne sait pas allez chercher la nouvelle crée


    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
     
    TRACE N°4-Création si inexistant- ZA-MAGALI\cf111
    TRACE N°5- Extraction de AEN13- 066000052664
    TRACE N°6- Incrémente de 1 AEN- 066000052665
    TRACE N°7- Insertion- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI1','ZA-MAGALI1','','10','36','20090716','20090716','','','RH09','','','','0660000526650','','','0','0') 
    TRACE N°1-Récupere après \cf11- 1
    TRACE N°2- Incrémente de 1- 2
    TRACE N°3- Nouvelle UVC- ZA-MAGALI\cf112
    TRACE N°5- Extraction de AEN13- 066000052665
    TRACE N°6- Incrémente de 1 AEN- 066000052666
    TRACE N°7- Insertion- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI2','ZA-MAGALI2','','10','38','20090716','20090716','','','RH09','','','','0660000526667','','','0','0') 
    TRACE N°1-Récupere après \cf11- 2
    TRACE N°2- Incrémente de 1- 3
    TRACE N°3- Nouvelle UVC- ZA-MAGALI\cf113
    Erreur SQL R1 :  [Microsoft][ODBC SQL Server Driver]La connexion est occupée avec les résultats d'un autre hstmt
    TRACE N°7- Insertion- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI\cf113','ZA-MAGALI\cf113','','10','40','20090716','20090716','','','RH09','','','','0660000526664','','','0','0') 
    TRACE N°1-Récupere après * 2
    TRACE N°2- Incrémente de 1- 3
    TRACE N°3- Nouvelle UVC- ZA-MAGALI3
    Erreur SQL R1 :  [Microsoft][ODBC SQL Server Driver]La connexion est occupée avec les résultats d'un autre hstmt
    TRACE N°7- Insertion- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI3','ZA-MAGALI3','','10','42','20090716','20090716','','','RH09','','','','0660000526661','','','0','0') 
    TRACE N°1-Récupere après \cf11- 2
    TRACE N°2- Incrémente de 1- 3
    TRACE N°3- Nouvelle UVC- ZA-MAGALI\cf113
    Erreur SQL R1 :  [Microsoft][ODBC SQL Server Driver]La connexion est occupée avec les résultats d'un autre hstmt
    TRACE N°7- Insertion- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI\cf113','ZA-MAGALI\cf113','','10','44','20090716','20090716','','','RH09','','','','0660000526668','','','0','0') 
    TRACE N°1-Récupere après * 2
    TRACE N°2- Incrémente de 1- 3
    TRACE N°3- Nouvelle UVC- ZA-MAGALI3
    Erreur SQL R1 :  [Microsoft][ODBC SQL Server Driver]La connexion est occupée avec les résultats d'un autre hstmt
    TRACE N°7- Insertion- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI3','ZA-MAGALI3','','10','46','20090716','20090716','','','RH09','','','','0660000526665','','','0','0')

    Première requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sRequete est une chaîne="SELECT ART_CODE FROM ARTICLES WHERE ART_CODE LIKE '"+SAI_ART_CODE+"%'  ORDER BY ART_CODE DESC "
    Raptor92
    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


  19. #39
    Membre chevronné
    Avatar de mogwai162
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 376
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 376
    Points : 1 860
    Points
    1 860
    Par défaut
    Non pas vraiment en fait si tu regarde mieux la trace tu t'apercevras que tu as des erreurs SQL. modifie la fin de ton code comme suit et si ça marche tj pas redonne moi la trace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    					FIN
    					SQLFerme("REQ10")
    				FIN
    				SQLFerme("REQ")
    			FIN
    		FIN	
    	FIN
    FIN
     
    SI OuiNon("Vous êtes sur le point de créer un article, veuillez confirmer votre choix") ALORS
    Info("La fiche article a été créée")
    FIN
    Patrick Catella

    Je ne réponds pas aux messages privés si ceux ci suivent un sujet. Il est préférable pour tous de poursuivre la discussion dans le sujet d'origine.

    Je suis Concepteur développeur Windev (10 ans) et Windev mobile (4 ans) en recherche d'emploi. J'etudie toute proposition

  20. #40
    Membre éclairé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    938
    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 : 938
    Points : 758
    Points
    758
    Par défaut
    Les traces 4,5 et 6 ne fonctionnent pas

    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
    TRACE N°1-Récupere après \cf11- 2
    TRACE N°2- Incrémente de 1- 3
    TRACE N°3- Nouvelle UVC- ZA-MAGALI\cf113
    Erreur SQL R1 :  [Microsoft][ODBC SQL Server Driver]La connexion est occupée avec les résultats d'un autre hstmt
    TRACE N°7- Insertion- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI\cf113','ZA-MAGALI\cf113','','10','36','20090716','20090716','','','RH09','','','','0','','','0','0') 
    TRACE N°1-Récupere après * 2
    TRACE N°2- Incrémente de 1- 3
    TRACE N°3- Nouvelle UVC- ZA-MAGALI3
    Erreur SQL R1 :  [Microsoft][ODBC SQL Server Driver]La connexion est occupée avec les résultats d'un autre hstmt
    TRACE N°7- Insertion- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI3','ZA-MAGALI3','','10','38','20090716','20090716','','','RH09','','','','0','','','0','0') 
    TRACE N°1-Récupere après \cf11- 2
    TRACE N°2- Incrémente de 1- 3
    TRACE N°3- Nouvelle UVC- ZA-MAGALI\cf113
    Erreur SQL R1 :  [Microsoft][ODBC SQL Server Driver]La connexion est occupée avec les résultats d'un autre hstmt
    TRACE N°7- Insertion- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI\cf113','ZA-MAGALI\cf113','','10','40','20090716','20090716','','','RH09','','','','0','','','0','0') 
    TRACE N°1-Récupere après * 2
    TRACE N°2- Incrémente de 1- 3
    TRACE N°3- Nouvelle UVC- ZA-MAGALI3
    Erreur SQL R1 :  [Microsoft][ODBC SQL Server Driver]La connexion est occupée avec les résultats d'un autre hstmt
    TRACE N°7- Insertion- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI3','ZA-MAGALI3','','10','42','20090716','20090716','','','RH09','','','','0','','','0','0') 
    TRACE N°1-Récupere après \cf11- 2
    TRACE N°2- Incrémente de 1- 3
    TRACE N°3- Nouvelle UVC- ZA-MAGALI\cf113
    Erreur SQL R1 :  [Microsoft][ODBC SQL Server Driver]La connexion est occupée avec les résultats d'un autre hstmt
    TRACE N°7- Insertion- INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) VALUES('ZA-MAGALI\cf113','ZA-MAGALI\cf113','','10','44','20090716','20090716','','','RH09','','','','0','','','0','0')

    Raptor92
    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.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. problème sur requete insert
    Par shadowmoon dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/06/2005, 12h46
  2. ASP + pb requete Insert
    Par cell dans le forum ASP
    Réponses: 4
    Dernier message: 22/04/2005, 12h15
  3. petite aide sur une requete INSERT INTO
    Par bonneti dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/03/2005, 16h17
  4. Erreur lors d'une requete insert into.. select
    Par Mr N. dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 04/11/2004, 18h32
  5. effectuer une requete insert avec 'values' ET 'select'
    Par delaio dans le forum Bases de données
    Réponses: 4
    Dernier message: 15/08/2004, 20h05

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