Hallo Michi,
Leider hast Du praktisch keine Details genannt. Ich werde
also Deine Tabelle mit den Artikelnummern „Artikel“ nennen
und das Feld, welches die Nummern speichert, „ArtNr“. Norma-
lerweise sollte die ArtNr der Primärindex der Tabelle sein,
da Du aber keine Information nennst, werde ich nicht davon
ausgehen. Da Deine PDF’s .pdf heißen, müssen
die Artikelnummern aber alphanumerisch sein. Das PDF-Quell-
verzeichnis nenne ich kurz „Quelle“ (= C:\PDF"), das Ziel-
verzeichnis „Ziel“ (den Verzeichnisnamen mußt Du entsprechend
selbst einsetzen).
Die Prozedur für das Kopieren aller PDF’s, für welche in der
Tabelle „Artikel“ eine Entsprechung in der ArtikelNr vorliegt,
in das Verzeichnis „Ziel“, schreibst Du in einen Modul, die
Ausführung startest Du z.B. im Direktbereich (Aufruf erfolgt
in der Entwicklungsumgebung mit Strg+G), indem Du die Funktion
dort aufrufst. Dazu schreibst Du nur den Funktionsnamen
PDF\_Copy
und bestätigst dann mit .
Bitte beachte, daß Du einen Verweis auf
"Microsoft DAO 3.6 Object Library"
setzen mußt! Das erledigst Du über das Menü EXTRAS, Menüpunkt
Verweise.
Die Prozedur lautet:
Function PDF\_Copy() As Variant
Const Quelle As String = "C:\PDF\"
Const Ziel As String = "C:\PDF\Copy\"
Const Tabelle As String = "Artikel"
Const Feld As String = "ArtNr"
Dim DB As DAO.Database
Dim RS As DAO.Recordset
Dim sql As String, Artikel As String
On Error Resume Next
sql = "Select [" & Feld & "] from [" & Tabelle & "] order by [" & Feld & "];"
Set DB = CurrentDb
Set RS = DB.OpenRecordset(sql, dbOpenSnapshot)
With RS
.MoveFirst
Do While Not .EOF
Artikel = .Fields(Feld).Value
FileCopy Quelle & Artikel & ".pdf", Ziel & Artikel & ".pdf"
If err Then
MsgBox "Fehler: " & Error, vbOKOnly, "Fehler:"
End If
.MoveNext
Loop
.Close
End With
Set RS = Nothing
End Function
Wenn ein PDF-File zu einer in „Artikel“ vorhandenen ArtNr
in „Quelle“ fehlt, erfolgt eine Fehlermeldung, nach
Bestätigung wird einfach mit der nächsten gespeicherten
ArtNr fortgesetzt wird. Die von Dir benötigten Namen mußt
Du im Beginn der Prozedur bei Const Quelle = usw. nach
Deinem Bedarf einsetzen.
Gruß
gs