Hallo zusammen,
ich habe ein Problem in einer Datenbankprogrammierung.
Ich verwende zum auswählen von Dateien das folgende Modul:
Spoiler anzeigen
Leider kann ich nachdem ich Dateien aus einem Ordner ausgewählt habe, diesen Ordner nicht mehr löschen.
Ich muss entweder immer wieder Access schließen oder eine Datei aus einem anderen Odner auswählen.
Vermutlich müssen irgendwo ein Objekt, welches auf die Dateien zugreift entladen werden.
Die Zeile 57 habe ich schon hinzugefügt, jedoch leider ohnen Erfolgt.
Aufrufen tue ich den Dialog über den folgenden Programmcode:
Woran könnte das liegen und wie kann ich da etwas machen?
ich habe ein Problem in einer Datenbankprogrammierung.
Ich verwende zum auswählen von Dateien das folgende Modul:
Visual Basic-Quellcode
- Public Function DateiOeffnenMulti(sWindowTitle As String, Optional sButtonTitle As String = "Öffnen", _
- Optional sFilter As String = "Alle Dateien|*.*") As Variant
- ' ----------------------------------------------------------------------------------------
- ' Beschreibung:
- ' erstellt einen Datei-Öffnen-Dialog mit Mehrfachauswahl
- '
- ' Paramter:
- ' sWindowTitle Titel des Datei-Öffnen-Dialogs
- ' sButtonTitle Titel des Öffnen-Buttons
- ' sFilter Dateifilter:
- ' Spezielles Format
- ' -> "NAME der Dateigruppe|*.end1; *.end2; *.end3" & chr(0) & "2. Gruppe|*.*"
- '
- ' Rückgabe:
- ' Variant-Array Erfolg: Vollständige Pfade von Dateiauswahl
- ' Abbrechen: Erstes element = 0
- ' ----------------------------------------------------------------------------------------
- Dim dlg As FileDialog
- Dim varArrAuswahl() As Variant
- Dim varSelected As Variant
- Dim varFilterEntries As Variant
- Dim varFilterEntry As Variant
- Dim i As Integer
- Set dlg = Application.FileDialog(msoFileDialogFilePicker)
- ' Filter aus String generieren
- varFilterEntries = Split(sFilter, Chr(0))
- With dlg
- .AllowMultiSelect = True
- .Filters.Clear
- For i = 0 To UBound(varFilterEntries)
- varFilterEntry = Split(varFilterEntries(i), "|")
- .Filters.Add varFilterEntry(0), varFilterEntry(1)
- Next
- .InitialView = msoFileDialogViewThumbnail
- .Title = sWindowTitle
- .ButtonName = sButtonTitle
- If .Show Then
- i = 0
- For Each varSelected In .SelectedItems
- If i = 0 Then
- ReDim Preserve varArrAuswahl(1)
- Else
- ReDim Preserve varArrAuswahl(UBound(varArrAuswahl) + 1)
- End If
- varArrAuswahl(i) = varSelected
- i = i + 1
- Next
- DateiOeffnenMulti = varArrAuswahl
- Else
- DateiOeffnenMulti = 0
- End If
- End With
- Set dlg = Nothing
- End Function
Leider kann ich nachdem ich Dateien aus einem Ordner ausgewählt habe, diesen Ordner nicht mehr löschen.
Ich muss entweder immer wieder Access schließen oder eine Datei aus einem anderen Odner auswählen.
Vermutlich müssen irgendwo ein Objekt, welches auf die Dateien zugreift entladen werden.
Die Zeile 57 habe ich schon hinzugefügt, jedoch leider ohnen Erfolgt.
Aufrufen tue ich den Dialog über den folgenden Programmcode:
Woran könnte das liegen und wie kann ich da etwas machen?