Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Affichage données Requête Access

  • Initiateur de la discussion Jeff
  • Date de début
J

Jeff

Guest
Bonjour à tous,

J'utilise le code ci-dessous pour récupérer les données d'une table Access.

Le problème est qu'il ne retrouve aucun enregistrement alors que j'ai directement importé le code SQL d'Access et que sous Access j'ai bien mes enregistrements.

Ai-je oublié quelque chose?

Sub Query1()

Dim myDB As Database
Dim myFileName As String
Dim MyRS As Recordset

myFileName = 'O:\\Bo_base\\EFFORT TRACKING\\Effort_tracking.mdb'
Set myDB = DBEngine.OpenDatabase(myFileName)

w = Range('D12')
w = '''*' & w & '*'''

wSQL = 'SELECT T_Effort.Initiales, Sum(T_Effort.Durée) AS Total FROM T_Effort GROUP BY T_Effort.Initiales, T_Effort.Groupe_Tâche HAVING T_Effort.Groupe_Tâche=' & w & ';'


Set MyRS = myDB.OpenRecordset(wSQL, dbOpenDynaset)

Range('D15:E19').ClearContents


k = 15
Do While Not MyRS.EOF
MsgBox (k)
With Sheets('Reports')
Range('D' & k) = MyRS.Fields('Initiales')
Range('E' & k) = MyRS.Fields('SommeDeDurée')
k = k + 1
End With
MyRS.MoveNext
Loop


End Sub


Merci pour ceux qui auraient une piste...

Jeff.
 
M

MrExcel

Guest
Salut Jeff,

Attention, recopier directement une requête d'Access vers XL ne suffit pas ! En effet tu risque de rencontrer des problèmes typographique.

Tout d'abord as-tu effectué une vérification de ton code en mode pas à pas ? Affiche ta requête avant de la lancer (debug.? wSQL pour l'avoir dans la fenêtre de débogage et checker sa syntaxe).
Dans le cas de ta variable w, j'ai peur que les '''''' ne fassent pas l'affaire ! Dans la plupart des cas avec les requetes SQL sous XL il faut que tu utilises des guillement simples ' ( chr$(39))
Autre chose essaie d'utiliser la méthode copyfromrecordset pour l'object Range:
Code:
Range('D15').CopyFromRecorset MyRS

HTH
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…