Macro VBA qui appelle DataBase Access 2010 - Problème de refresh
Bonjour,
je viens de créer une macro à partir d'Excel qui ouvre une database Access lambda. Pour l'instant je demande à cette macro d'ouvrir cette base et de transférer les fichiers présents dans mes queries, jusque la aucun souci, quoique je trouve la macro lente donc si qq'un a une idée pour mieux compiler ou écrire le code je suis preneur.
Ce que je voudrais rajouter c'est qu'avant de transférer les queries en format excel dans un autre folder, ma macro fasse un update de la Linked Table Manager de ma table excel qui produit les queries.
Pour résumer j'ai une table dans la base access qui prend ses données d'un fichier source excel, pour la mettre à jour régulièrement, je fais le clic droit linked table manager, je clique sur la table qui a besoin d'être updaté (il n'y en a qu'une) et je mets OK pour refresh la table et donc les queries qui en découlent. Je veux que cette action soit faite via la macro excel. Si qq'un a une idée du comment faire je suis preneur. Si besoin de plus d'explications ou si je n'ai pas été clair n'hésitez pas à me le dire.
J'avais pensé passé par la DoCmd.Refresh mais soit je me trompe dans la ligne soit ce n'est pas la bonne commande.
Ci dessous mon code actuel
Code:
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
| Sub Super()
Dim Db As Object
Dim datRef As Date
Dim strPer As String
'Determination de la date du jour
datRef = Date
strPer = ""
strPer = Format(datRef, "YYYY_MM_DD")
'Dim strSQL As String
Set Db = CreateObject("Access.Application")
Db.OpenCurrentDatabase ("F:\Test\Testtable.accdb")
''''''''Missing command to refresh query master link'''''''
DoCmd.
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Sheet1", "F:\Test\Depofichier_" & strPer
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Sheet2", "F:\Test\Depofichier_" & strPer
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Sheet3", "F:\Test\Depofichier_" & strPer
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Sheet4", "F:\Test\Depofichier_" & strPer
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Sheet5", "F:\Test\Depofichier_" & strPer
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Sheet6", "F:\Test\Depofichier_" & strPer
Db.Close
End Sub |