Bonjour tout le monde ,
Je suis entrain de developper une base de donnée via VB/ access .
Je decode des fichiers que j'insere dans la base access via requete .
Le but premier de ma requete est tout d'abord d'inserer des valeurs :) , mais aussi de les filtrer via une table reference (A)
C'est a dire que ma requete n'insera aucune donnée (B) qui ne sont pas presente dans (A)
Ma requete est la suivante :
sql_statement =
"INSERT INTO T_defaut ( file, equipement, Rame, code_defaut, date_defaut, heure_defaut, vitesse, contexte )SELECT "
sql_statement = sql_statement &
"'" & Vfile & "'as Expr1,'" & UT & "'as Expr2,'" & Rame & "'As Expr3,'" & code_def & "'As Expr4,'" & date_def & "'As Expr5,'" & heure_def & "'As expr6,'" & vitesse & "'As Expr7,'" & donnee_contexte & "'As Expr8 FROM T_Code_Defaut LEFT JOIN T_defaut ON T_Code_Defaut.Code_Defaut = T_defaut.code_defaut WHERE (((T_Code_Defaut.Code_Defaut)=" & "'" & code_def & "'" & ") AND ((T_Code_Defaut.Equipement)=" & "'" & UT & "'" & "));"
Elle assure parfaitement la fonction pour laquelle je l'ai faite mis a part trois gros souci .
- Temps d'execution de ma fonction multiplié par deux par rapport a une requete de type INSERT VALUES
-La base access a une taille anormal , je m'explique apres avec execute la requete la table a peu pres 2000 occurence et pese 2GO , une fois compactee 7 mo , ca fait pas du tout le meme phenomene avec une requete insert values .
on dirait que les données filtrees sont stockees quelquepart ....
-Autre point que je n'avais pas encore remarqué au bout de X fichier traité et 3000 occurence dans la bdd , ben ma base est morte impossible de l'ouvrir etc ...(argument non valide)
Si quelqu'un a une idée du pourquoi et du comment .... , je suis preneur !
@++