Hallo liebes Forum,
leider konnte mir bislang noch keiner irgendwie helfen...
ich habe ein kleine Datenbank, mit der ich Dateien verwalte. Hierzu werden die Dateien per Code in ein bestimmtes Verzeichnis kopiert und der Pfad in der Datenbank übernommen. Die Dateien (also der Pfad) werden dann untereinander in einem Endlosformular angezeigt. Ein Button neben jedem eintrag öffnet die Datei, der andere soll sie löschen.
Jetzt mal das Problem:
Beim löschen wird immer nur der Tabelleneintrag mit dem Pfad gelöscht (das ist auch richtig so), es soll jedoch zusätzlich die Datei aus dem Verzeichnis gelöscht werden.
Den Tabelleneintrag wird gelöscht, jedoch bekomme ich den Pfad nicht in den Kill befehl zum löschen der Datei im Verzeichnis hin... Was mache ich falsch?
Dim a As Variant
Dim Datenam1 As String
' löschen bestätigen lassen
a = MsgBox("Möchten Sie die Datei wirklich löschen?", 52, "x")
If a = 7 Then GoTo ende
DoCmd.SetWarnings False
Datnam1 = DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
Kill Datnam1
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Hallo,
verabschiede dich doch von diesen unsäglichen DoMenuItem, das provoziert nur Fehler.
Ich schreib deinen Code etwas um:
Dim db As Database
Dim Pfadname As String
Set db = CurrentDb
Pfadname = "c:\Dateien\test2.txt" ' (Alternativ ein Bezug auf ein Formularfeld wie Me!Pfadname oder ähnlich)
If MsgBox("Möchten Sie die Datei wirklich löschen?", vbQuestion + vbYesNo, "Sicherheitsabfrage") = vbYes Then
db.Execute "Delete From Tabelle1 Where Pfadname = '" & Pfadname & "'"
Kill Pfadname
If Dir(Pfadname) <> vbNullString Then
MsgBox "Fehler beim Löschen der Datei, bitte von Hand löschen!"
End If
End If
Set db = Nothing
Gruß Andreas
Als Kriterium für die Löschabfrage sollte man aber besser einen ID-Wert verwenden, also Bezug auf die ID-Spalte.
Andreas
:D
DANKE :D
Damit bist du mein Held des Tages... es funktioniert super :D
Hallo,
für sowas gibts den Danke-Button... nicht nur bei mir