HI Leute,
ich habe eine Datenbank erstellt, die auch auf Dateien zugreifen soll. Damit man den Speicherort der Dateien auch mal ändern kann, ohne den VB-Code ändern zu müssen, habe ich ein Formular zum Einstellen der Pfade erstellt. Die Einstellungen in diesem Formular werden in einer Tabelle mit nur einem Datensatz und den zwei Spalten „Pfad1“ und „Pfad2“ (es sind nur zwei Pfade). Bevor der Code aber auf die Dateien zugreift, soll erstmal geprüft werden, ob diese Pfadangabe überhaupt existiert. Hier mein Versuch dazu - das Problem ist, dass der Code auch existierende Pfade nicht findet:
Public Function Installieren(Programm As String)
'mit der Variable Programm wird dieser Funktion je nach
'Bedarf entweder Pfad1 oder Pfad2 übergeben
Dim rs As New ADODB.Recordset
Dim sqlstring As String
Dim fld As Field
Dim fso As New FileSystemObject
'Für FileSystemObject muss übrigens Microsoft Scripting Runtime
'unter Verweise aktiviert sein
Dim Text, Pfad As String
sqlstring = „Select " & Programm & " from Pfade“
With rs
.ActiveConnection = CurrentProject.Connection
.LockType = adLockOptimistic
.CursorType = adOpenDynamic
.Open sqlstring
End With
rs.MoveFirst
For Each fld In rs.Fields
Pfad = fld.Value
Next fld
'Diese For…Next-Schleife ist nicht so schön, ich weiß,
'aber sie erfüllt ihren Zweck, da ja nur ein Feld existiert.
If fso.DriveExists(Pfad) = False Then
Text = „Pfad existiert nicht (“ & Pfad & „).“
MsgBox Text
'Hier ist das Problem: kein Pfad wird gefunden - diese
'Meldung erscheint immer!
rs.Close
Exit Function
End If
rs.Close
'Der Rest ist nicht mehr relevant für mein Problem
End Function