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 29 30 31 32 33 34 35 36 37 38 39 40
|
Sub importDonnees_DAO()
' EFFACER FEUILLE
Feuil2.Range("A1:K999").Clear
' CONSTRUCTION DE LA REQUETE
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Dim strSQL As String
Dim DateDevis As String
' DateDevis = Feuil1.Range("B1").Value
DateDevis = "01/12/2007"
Set Db = DAO.OpenDatabase(ActiveWorkbook.Path & "\Database.mdb", False, False)
strSQL = "SELECT s3.[L1], s3.[L2], s3.[L3], s3.[Unité],s3.[Désignation],
s3.[Libellé technique], s1.[Date], s1.[Prix total]/s1.[Quantité] AS PU
FROM [Achats] s1 LEFT JOIN [Articles] s3 ON s1.[ID_article]=s3.[ID] WHERE
(Date=(SELECT MAX(s2.Date) FROM [Achats] s2 WHERE s1.ID_article=s2.ID_article AND s2.Date<=#" & DateDevis & "#))
ORDER BY Code L1 ASC"
Set Rs = Db.OpenRecordset(strSQL, DAO.dbOpenSnapshot)
' RECUPERATION DES ENTETES
Dim i As Integer
Dim Cellule As Range
Set Cellule = Range("a1")
For i = 0 To Rs.Fields.Count - 1
Cellule = Rs.Fields(i).Name
Set Cellule = Cellule(1, 2)
Next i
' AFFICHAGE DES RESULTATS
Feuil2.Range("A2").CopyFromRecordset Rs
Db.Close
End Sub |
Partager