probleme de tampon?

probleme de tampon? - VB/VBA/VBS - Programmation

Marsh Posté le 24-04-2003 à 15:12:45    

J'ai encore un petit pb. J'ai developpé une application VB depuis une macro Excel, capable de transferer des données de Excel dans une base de donnée mysql. L'application est assez longue, car il faut faire de nombreux changements et des verifications a chaque insertion. Mais au bout de 63 enregistrements, ça plante en me disant  
"Erreur d'execution '-2147217900 (80040e14)'
Erreur Automation"
 
C'est sur, ce n'est pas mysql qui ne supporte plus, car si j'ajoute encore des enregistrements, il ne rale pas, donc je me demandais si ce n'etait pas une histoire de tampon dans VB ou qq chose comme ça.
 
Aidez moi, je suis bloqué a cause de ça!

Reply

Marsh Posté le 24-04-2003 à 15:12:45   

Reply

Marsh Posté le 24-04-2003 à 15:21:50    

d'après google ("mysql error 80040e14" ), ce serait une erreur de syntaxe dans ta commande SQL.
 
bon ma requête google était un peu ambigue mais j'ai parié sur le fait qu'il ne trouverait pas autre chose que des erreurs OLEDB/ODBC :D


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 24-04-2003 à 15:38:27    


Ce serait une erreur de requete! C'est bizarre qu'il m'en passe 63, et que le 64eme non, alors que c'est la même chose que les autres! :??:

Reply

Marsh Posté le 24-04-2003 à 15:39:31    

affiche voir tes requêtes 63 et 64 :)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 24-04-2003 à 15:49:57    

Voila les données des 2 ligne que tu m'a demandé:  
Ce ne sont pas les requetes, mais les données Excel.
 
 
814-75-5
10186
3-Bromo-2-butanone, stabilised with <1% magnesium oxide  
10g
31,1  
50g  
130,95  
250g  
566,5  
97+  
151.01  
C4H7BrO
 
 
553-26-4  
10187  
4,4'-Dipyridyl  
5g  
10,37  
25g  
34,61  
100g  
125,16  
98  
156.19  
C10H8N2

Reply

Marsh Posté le 24-04-2003 à 15:56:47    

ben j'aurais préféré les textes des requêtes, pour voir exactement ce que tu en fais ;)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 24-04-2003 à 15:58:44    

bon ça pourrait bien être ceci: 4,4'-Dipyridyl
 
il y a une apostrophe.  Tu dois prévoir du code pour redoubler cette apostrophe sinon ton SGBD te le refusera.  Enfin ça dépend aussi ce que tu utilises comme délimiteur de chaîne.  Si c'est le quote, c'est bien ça.  Si c'est le double quote, montre tes requêtes ;)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 24-04-2003 à 16:06:39    

"INSERT INTO produit VALUES (
'" & max_prod & "' ,  
'" & Array1(x, 1) & "' ,  
'" & Array1(x, 10) & "' ,  
'" & Array1(x, 3) & "' ,  
' "" ' ,  
'" & formule & "' ,  
'" & masse & "' ,  
'"&comment_masse& "' ,  
' "" ' ,  
' "" ' ,  
' "" ' ,  
' "" ' ,  
' "" ' ,  
' "" ' ,  
' "" ' ,  
' "" ' ,  
' "" ' ,  
' "" ' ,  
'" & comment_formule & "' );"
 
Voila a quoi ça ressemble si ça peut t'aider. Fais pas gaffe au nom de variables.

Reply

Marsh Posté le 24-04-2003 à 16:37:34    

Comment je peux faire alors, mais sans devoir changer dans la feuilles de calcul Excel?

Reply

Marsh Posté le 24-04-2003 à 18:23:07    

Au moment où tu construis ta chaîne, toute variable contenant une string doit être traitée de la manière suivante: doubler tous les quotes (';) car sinon ils sont pris comme fin de chaîne et boum.
 

Code :
  1. variable = Replace(variable, "'", "''" )


 
Fais en une fonction puis appelle la chaque fois que tu as besoin de traiter une chaîne.  Ca ira mieux après ;)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 24-04-2003 à 18:23:07   

Reply

Marsh Posté le 25-04-2003 à 08:36:09    

Ok merci! :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed