VBA Access file wissen met *

Status
Niet open voor verdere reacties.

Buscador

Gebruiker
Lid geworden
26 jan 2019
Berichten
28
Wie kan me hier uit helpen? Ik probeer in een folder alle pdf bestanden te wissen die beginnen met een naam (komt uit form txtKlasgroep) en alles wat er achter komt. Elke keer loopt ik vast, wat is hier mis?
Elke keer loop is vast bij: Set fldr1
Bedankt
Code:
Dim objFSO1 As Object
Dim fldr1 'moet hier nog iets achter?
Dim path1 As String 'Variant werkt ook niet
    path1 = "C:\A-POL\PDFtePrinten"
Dim file1 As Variant
file1 = Form_B4groepKlas.txtKlasgroep.Value & "*.pdf" ' Forms!B4groepKlas.. werkt ook niet
    
    Set objFSO1 = CreateObject("Scripting.FileSystemObject")
    Set fldr1 = objFSO.GetFolder(path1)

    For Each file1 In fldr1.Files
    file1.Delete
    Next
    
Set objFSO1 = Nothing
Set file1 = Nothing
 
Volgens mij is deze ene regel voldoende:
Code:
Kill Form_B4groepKlas.txtKlasgroep.Value & "*.pdf"
Afhankelijk van wat er in Form_B4groepKlas.txtKlasgroep.Value staat.
 
Bedankt edmoor, hoe simpel kan het zijn?
Heb het een beetje aangepast naar:
Code:
Dim path1 As String
    path1 = "C:\A-POL\PDFtePrinten\"
Kill path1 & Form_B4groepKlas.txtKlasgroep.Value & "*.pdf"
Werkt perfect
 
Dan mag het dus ook dit zijn:
Code:
Kill "C:\A-POL\PDFtePrinten\" & Form_B4groepKlas.txtKlasgroep.Value & "*.pdf"
 
Onbegrijpelijk, het werkte en nu niet meer. Ik zie niet waar de fout zit

Dit werkte de eerste keer
Code:
Dim path1 As String
    path1 = "C:\A-POL\PDFtePrinten\"
Kill path1 & Form_B4groepKlas.txtKlasgroep.Value & "*.pdf"
Nu heb ik dit en werkt niet
Code:
Kill "C:\A-POL\PDFtePrinten\" & Form_B4groepKlas.txtKlasgroep.Value & "*.pdf"

Nadien terug de eerste code en nu werkt dit ook niet meer, Onbegrijpelijk

Gezocht op internet en dit gevonden maar ook dit werkt niet
Code:
Dim sPath1 As String
    sPath1 = "C:\A-POL\PDFtePrinten\"
Dim sFile1 As String
    sFile1 = Form_B4groepKlas.txtKlasgroep.Value
Dim sExt1 As String
    sExt1 = "*.pdf"
    
Dim strFile  As String: strFile = sPath1 & sFile1 & sExt1
If Len(Dir$(strFile)) > 0 Then Kill strFile
Ben dus niets verder

Even ter verduidelijking: in Form_B4groepKlas.txtKlasgroep staat bv Groep Jef
Maar het pdf bestand noemt bv: Groep Jef (12/09/2021).pdf
Er kunnen dus verschillende files zijn maar ook andere namen. De bedoeling is enkele te wissen te files die beginnen met "Groep Jef"
 
Laatst bewerkt:
Aan de code in #4 mankeert niets.
Maar we weten nog steeds niet wat er dan in Form_B4groepKlas.txtKlasgroep.Value staat.
 
Even ter verduidelijking: in txtKlasgroep staat bv Groep Jef (12/09/2021).pdf
Daar staan tekens in die niet in een bestandnaam voor mogen komen. De / tekens.
 
Sorry dit klopt er staat "Groep Jef (12-09-2021).pdf"
Uit gewoonte hé
 
Dan moet je dat .pdf weg laten in dat veld.
 
Nu begrijp ik er niets meer van. Zal wel om een stommiteit van mij gaan maar ik zie het niet! Problemen met concentratie.
Ook dit werkt niet, zoals je zegt, edmoor, zou dit moeten werken. Waar ik iets fout doe weet ik niet meer
Code:
Dim sPath As String
sPath = "C:\A-POL\PDFtePrinten\" & Form_B4groepKlas.txtKlasgroep.Value & "*"
Kill sPath

Nog even dit;
Het formulier "Form_B4groepKlas" staat open want ik start van daaruit de module met een button.
In tekstvak txtKlasgroep staat een naam bv "Groep Jef"
De opgeslagen files staan in de map "C:\A-POL\PDFtePrinten" (met hier bv Groep Jef.... .pdf) maar achter de naam staan nog andere tekens, vandaar de asterisk * in sPath
Enkel bestanden van deze "Groep Jef... .pdf" mogen verwijderd worden.
 
Laatst bewerkt:
Wat levert dit op?
Code:
Dim sPath As String
sPath = "C:\A-POL\PDFtePrinten\" & Form_B4groepKlas.txtKlasgroep.Value & "*"
MsgBox sPath
 
Begin eens met uit te leggen waarom je op zo'n verschrikkelijk ingewikkelde manier de gegevens van je formulier afhaalt.
Het formulier "Form_B4groepKlas" staat open want ik start van daaruit de module met een button.

Dan zou dit voldoende moeten zijn:
Code:
Private Sub cmdVerwijderen_Click()
    On Error Resume Next
    Kill CurrentProject.Path & "\" & Me.txtKlasgroep.Value & "*.pdf"
End Sub

Daarbij heb ik even voor het gemak het pad van mijn testdatabase gebruikt; dat kun je natuurlijk makkelijk vervangen door je eigen pad.
 
edmoor
uitlezen van MsgBox geeft: C:\A-POL\PDFtePrinten\Klasgroep Jef*"

OctaFish
Uw code werkt ook niet, ook niet na kleine aanpassing;
Code:
On Error Resume Next
    Kill CurrentProject.Path & "\PDFtePrinten\" & Me.txtKlasgroep.Value & "*.pdf"

Ik snap er niets meer van!
 
Laatst bewerkt:
Jongens, jongens toch, ik ben er niet meer goed bij.

Probleem opgelost.

Bij het maken van de pdf werd niet dezelfde naam gebruikt (Groep Jef)
Als je dan wil wissen beginnende met "Klasgroep Jef" werkt dat dus niet hé. Daar had ik dus over gezien, stom kieken dat ik ben :confused:

Mijn welgemeende excuses, mijn stomme fout
 
Sh*t happens ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan