L
loopix
Guest
Salut,
j'insère des valeurs dans les cellules à l'aide de querytables.add
avec des select d'une table SQL serveur.
/************************************/
code:
connectionstring = "ODBC;DRIVER=SQL Server;SERVER=mon_serveur;UID=mon_user;PWD=mon_pwd;APP=Microsoft Open Database Connectivity;DATABASE=ma_base;Regional=Yes"
SQLSTRING = "set nocount on "
SQLSTRING = SQLSTRING + "select mon_champs from ma_table where moncritere = valeur "
With ActiveSheet.QueryTables.Add(Connection:=connectionstring, Destination:=Range("A1"))
.CommandText = SQLSTRING
.AdjustColumnWidth = False
.Refresh (False)
End With
/*************************************/
Par contre malgrés un clear, excell garde en mémoire les données externe !
/*************************************/
code:
Columns("A:C").Select
Selection.ClearContents
Selection.QueryTable.Delete
/************************************/
Si je fais la même chose mais à la main (selection puis suppr puis ok pour supprimer les données externe contenu dans la selection, pas de données en mémoire.
Conclusion mon fichier s'allourdi anormalement !
Et si je fais une actualisation des données externe alors c'est magnifique ...
Ca lance toute les anciennes requêtes du coup => X connexions simultanées à MS SQL et paffff on prend toute les connexions actives dispos de MS SQL et y la c'est bien crouté !!!!
Comment éviter la mémorisation des querytables ?
Merci de votre aide
j'insère des valeurs dans les cellules à l'aide de querytables.add
avec des select d'une table SQL serveur.
/************************************/
code:
connectionstring = "ODBC;DRIVER=SQL Server;SERVER=mon_serveur;UID=mon_user;PWD=mon_pwd;APP=Microsoft Open Database Connectivity;DATABASE=ma_base;Regional=Yes"
SQLSTRING = "set nocount on "
SQLSTRING = SQLSTRING + "select mon_champs from ma_table where moncritere = valeur "
With ActiveSheet.QueryTables.Add(Connection:=connectionstring, Destination:=Range("A1"))
.CommandText = SQLSTRING
.AdjustColumnWidth = False
.Refresh (False)
End With
/*************************************/
Par contre malgrés un clear, excell garde en mémoire les données externe !
/*************************************/
code:
Columns("A:C").Select
Selection.ClearContents
Selection.QueryTable.Delete
/************************************/
Si je fais la même chose mais à la main (selection puis suppr puis ok pour supprimer les données externe contenu dans la selection, pas de données en mémoire.
Conclusion mon fichier s'allourdi anormalement !
Et si je fais une actualisation des données externe alors c'est magnifique ...
Ca lance toute les anciennes requêtes du coup => X connexions simultanées à MS SQL et paffff on prend toute les connexions actives dispos de MS SQL et y la c'est bien crouté !!!!
Comment éviter la mémorisation des querytables ?
Merci de votre aide