SQLite for Excel : insertion multiple

Bonjour,

tout d'abord pour situer le contexte , j'utilise l'API / framework (je ne sais pas trop comment le définir) SQLite for Excel disponible ici:

https://sqliteforexcel.codeplex.com/

je possède une fonction

sub requete (req as String) 

qui exécute la requête passer en paramètre . Cette fonction est parfaitement fonctionnel testée et vérifiée.

Je Cherche à faire une grande quantité d'enregistrement d'un coup , pour cela j'ai utilisé deux méthodes :

1) je génére ma requête pour 1 enregistrement ,

reqSql = " INSERT INTO " & nomTable & "VALUES ( '" & val1 & "' , '" & val2 & " ' ) " 
requete reqSql

et je boucle la dessus . Je reussi donc à importer l'ensemble de mes données , mais comme elles sont volumineuses, cela prend du temps

mon problème apparait sur la deuxième méthode :

If NoLig Mod var = 0 Or NoLig = FinLigne - 3 Then
    reqSql = reqSql & "('" & val1 & "','" & val2 & "')" 
    db.requete reqSql
    db.closeDB
reqSql = "INSERT INTO " & nomTable & " (champs1 , champs2 ) VALUES "
Else
    reqSql = reqSql & "('" & val1 & "','" & val2 & "'),"
End If

et je boucle la dessus .

de temps en temps , a priori toujours au mêmes endroits , la deuxième méthode échoue pour certain enregistrement

constat : plus var est grand plus la requête échoue souvent .

Mais ce n'est pas forcement vrai.

Exemple :

var = 500 ==> 2 plantages sur 19000 lignes vers le début = 18000 enregistrements réussis

var = 2 ==> aucun plantage

var = 2000 ==>plante à chaque fois = 0 enregistrement réussis

au niveau temps d’exécution , temps_exécution_optimisé = temps_exécution/var avec temps_exécution = 7~10 mn

d'où l'importance du fonctionnement de la 2 ème méthode.

J'espère avoir réussi a exprimer mon problème clairement

En vous remerciant d'avance pour vos réponses .

Cordialement.

Re Bonjour,

Petite Update de mon problème , je peux maintenant importer 400 enregistrement d'un coup sans que cela bug ...

avec 800 aucun ne fonctionne . Problème mémoire ?

Les corrections suivantes ont été apportées sur les données en entré : j'ai suppressions des doublons sur la clé primaire . Il n'était pas sensé existé . Mais cela n'a pas suffit . J'ai aussi supprimé tous les " ' " des données en entré . étonnant vu que cela ai corrigé une partie du problème vu que un par un les enregistrements fonctionnaient .

avez vous des informations sur comment excel gère l'allocation mémoire de ses variables ?

Bonne journée

Bonjour kils44!

Je début avec SQLite for Excel (https://sqliteforexcel.codeplex.com)

et mes connaissance avec VBA, reste appréciable mais limite.

mon projet de travailler avec une base SQLite (de généalogie) et faire mes calcul ou correction avec Excel...

et je lute depuis deux semaines...

je comprend pas on récupère une table dans un onglet et pour le renvoyer c'est pas mieux....

pourrais tu m'aider

Merci par avance

Jorge

Rechercher des sujets similaires à "sqlite insertion multiple"