Avatar billede hekla Nybegynder
22. oktober 2002 - 23:41 Der er 12 kommentarer og
2 løsninger

At slette en fil

Jeg har en funktion, som opretter en temporær fil (minfil.rtf), som jeg efterfølgende skal slette. Til sletningen bruger jeg koden nedenunder, hvilket virker fint i WinXP, men den virker desværre ikke i Win98.

Er der nogen, der har koden, som også virker i Win98.

Set fs = Application.FileSearch
With fs
    .LookIn = "C:\"
    .FileName = "minfil.rtf"
    If .Execute > 0 Then
    Set fso = CreateObject("Scripting.filesystemobject")
    fso.deletefile ("c:\minfil.rtf")
    Set fso = Nothing
    End If
End With
Avatar billede terry Ekspert
23. oktober 2002 - 08:42 #1
This is Access, where are we?
Avatar billede hekla Nybegynder
23. oktober 2002 - 12:56 #2
Problemet er at jeg skal overføre indholdet af nogle rapporter fra min Access2002 database til tekstbehandling. Det gør jeg vha:

    DoCmd.OutputTo acReport, stDocName, acFormatRTF, "c:\minfil.rtf", -1

Denne fil skal jeg have slettet bagefter, så uvedkommende ikke kan gå direkte ind og se indholdet i den.
Jeg har derfor sat slettefunktionen ind som en del af onclick-hændelsen til min luk-knap til en formular, men jeg kan desværre ikke få den til at virke i Win98.
Avatar billede terry Ekspert
23. oktober 2002 - 12:58 #3
Kill "c:\minfil.rtf"
Avatar billede hekla Nybegynder
23. oktober 2002 - 13:34 #4
Den giver fejlmeddelelsen: "Object doesn't support this property or method"

Bruges Kill ikke til at stoppe processer? Eller er det kun i Unix?
Avatar billede hugopedersen Nybegynder
24. oktober 2002 - 19:02 #5
Jeg tror ikke at dit problem er selve koden !  Jeg bruger nøjagtig den samme kode ( bortset fra () om filnavnet ) og den virker 100% på Windows 98
Men det virker kun hvis det er Windows 98 second edition. Jeg kan heller ikke få det til at fungere på first edition.  Det er et eller andet med scription hosten der åbenbart driller på first edition.
Avatar billede hekla Nybegynder
24. oktober 2002 - 21:33 #6
Jeg har lige prøvet det på en ren, ny Win98 Second Ed. installation, og der virkede det ikke, så det er ikke hele forklaringen
Avatar billede nih Novice
24. oktober 2002 - 21:51 #7
Prøv at installere den nyeste version af WSH:
http://msdn.microsoft.com/library/default.asp?url=/nhp/default.asp?contentid=28001169

Det er den, der indeholder filesystemobject'et.

Hvor går din kode i stå ??????

Niels
Avatar billede hekla Nybegynder
24. oktober 2002 - 22:42 #8
Det program jeg laver, skal gerne kunne installeres på en Win98-maskine uden at brugeren er nødt til at hente nyeste version af WSH.
Det er under testningen af programmet, jeg har fundet fejlen.

Jeg ved ikke hvilken del af koden, der ikke virker, for jeg har ingen diagnostiske værktøjer på min Win98-maskine. Jeg vil nemlig helst have en helt ren installation at teste på.
Avatar billede hekla Nybegynder
25. oktober 2002 - 01:58 #9
Jeg har fundet på at bruge en knap så elegant men effektiv løsning, nemlig at overskrive filen med en tom fil genereret fra en tom rapport.

Lad os se, om der er nogen, som har en mere elegant metode, som virker.
Avatar billede terry Ekspert
25. oktober 2002 - 14:43 #10
Kill deletes files!
Avatar billede nih Novice
25. oktober 2002 - 18:22 #11
Sub sletfil()

  Dim FilNavn As String
  FilNavn = "c:\TEST.TXT"
 
  If Dir(FilNavn) <> "" Then
    Kill FilNavn
  End If
 
End Sub

Den her burde virke på selv den ældste access version.

Niels
Avatar billede hekla Nybegynder
25. oktober 2002 - 19:56 #12
Det virker i hvert fald i både Win 98 og XP i min AccessXP database.

Det var jo egentlig terry's ide at bruge kill, men jeg fik det blandet sammen med fso.deletefile-metoden. 15 til hver.
Avatar billede hekla Nybegynder
25. oktober 2002 - 19:57 #13
Tak for hjælpen
Avatar billede nih Novice
25. oktober 2002 - 21:27 #14
Takker :)

Niels
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester