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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
Sub AccessAuxDonnee()
Dim oRs As DAO.Recordset
Dim db As DAO.Database
Dim sql As String
Dim stTemp As String
Dim oDoc As Document
stTemp = ""
sql = "SELECT * FROM ExtraireDonnee"
Set db = OpenDatabase("H:/compte.mdb")
Set oRs = db.OpenRecordset(sql)
Debug.Print "1"
stTemp = ""
While Not oRs.EOF
Debug.Print "2"
If stTemp <> oRs.Fields(1).Value Then
Debug.Print "3"
' si l'enregistrement traité n'est pas le premier du recordset, on ferme le
' document.
On Error Resume Next
If oRs.AbsolutePosition <> 1 Then oDoc.Close
' On va ajouter un document et l'affecter à la variable oDoc
Debug.Print "4"
Set oDoc = Documents.Add("H:\doc1.doc")
Debug.Print "5"
' On utilise les signets du document pour inscrire certaines valeurs
oDoc.Bookmarks("lib").Range.Text = oRs.Fields("don_lib").Value
'Après les signets, on attaque la table, on va y ajouter une ligne et
' y inscrire des valeurs.
Debug.Print "6"
With oDoc.Tables(1).Rows
.Add
.Last.Cells(1).Range.Text = oRs.Fields("don_lib")
End With
Debug.Print "7"
'On sauve le document avec le nom
oDoc.SaveAs "H:\fichesG\" & oRs.Fields("don_lib") & ".doc"
Debug.Print "8"
' On remplit la variable temporaire pour faire le test
stTemp = oRs.Fields(1).Value
Debug.Print "9"
Else
' Si c'est le même identifiant, on continue de remplir la table.
Debug.Print "10"
With oDoc.Tables(1).Rows
Debug.Print "11"
.Add
.Last.Cells(1).Range.Text = oRs.Fields("don_lib")
Debug.Print "12"
End With
Debug.Print "13"
'On sauve le document
oDoc.Save
End If
Debug.Print "14"
oRs.MoveNext
Wend
Set db = Nothing
Set oRs = Nothing
End Sub |
Partager