Sql : Recordset dans macro VBA

phestaca

XLDnaute Nouveau
Bonjour a tous,

j'ai un probleme assez bizarre avec une macro que je crée en ce moment :

Mon but est de faire dialoguer une base de données access avec un tableur excel que j'ai (ceci afin d'alleger et de pouvoir utiliser sur plusieurs postes simultannés mon appli)
A partir des champs rentrés par l'utilisateur j'intéroge la BD avec le code suivant :

Code:
Set Db = DBEngine.OpenDatabase("K:\Reception process.mdb")
    
Worksheets("Form").Select
Source = "SELECT * FROM Employees WHERE UID = " & Range("E5").Value
Set oRst = Db.OpenRecordset(Source, dbOpenDynaset)
Source2 = "SELECT * FROM Positions WHERE ((Positions.[Business Unit])='" & Range("E19").Value & "') AND ((Positions.[Build Name])='" & Range("E21").Value & "') AND Occuped = 0 AND Booked = 0;"

Set oRst2 = Db.OpenRecordset(Source2, dbOpenDynaset)
[COLOR="Red"]Range("A50").CopyFromRecordset oRst2[/COLOR]

If Not oRst2.RecordCount = 0 Then oRst2.MoveFirst
If Not oRst.RecordCount = 0 Then oRst.MoveFirst

j'ai mis en rouge une ligne car mon probleme est que sans cette ligne tous mes recordset n'ont qu'un résultat ... ce qui me va quand je cherche un employé unique mais pas quand je cherche une position ou plusieurs sont disponibles...

Savez vous pourquoi sans ce copier coller sur mon excel je n'ai pas toutes les entrées possibles ?

Merci beaucoup !
 

MJ13

XLDnaute Barbatruc
Re : Sql : Recordset dans macro VBA

Bonjour phestaca

Cela pourrait vouloir dire que tu places en A50 le résultat de ton extraction.

c'est comme ci tu avais dit

Code:
[COLOR=#ff0000]Range("A50").CopyFromRecordset [/COLOR]Db.OpenRecordset(Source2, dbOpenDynaset)

Par contre je ne connais pas bien ces syntaxes.

Sinon si cela fonctionne avec cette ligne et si c'est e but recherché, alors, il ne faut pas chercher plus loin.
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 936
Membres
103 987
dernier inscrit
Doctami