Avatar billede molehonter Mester
14. august 2012 - 13:25 Der er 4 kommentarer

Logfil vedligehold.

Jeg har en projekt hvor der bliver skrevet til en log når en bruger laver visse handlinger, grunden til at filen er en ekstern fil, er at andre programmer også kan skrive til logfilen.
Koden virker.

Mit spørgsmål er: Hvordan kan man slette i filen således at de sidste 1000 tranaktioner findes.

'*************************************************************

Option Compare Database

Private Const LogFilNavn = "Brugere.log"

Public Sub Log_Macro(MacroName As String, DeScript As String)
    On Error Resume Next
    Open DocParth1 & LogFilNavn For Append As #1
    Print #1, fOSUserName, "ACCESS", "" & MacroName & "", Now, DeScript
    Close #1
End Sub
Avatar billede Slettet bruger
14. august 2012 - 22:18 #1
Hvis andre programmer kan bruge filen netop som den ønskes reduceret til de 1000 seneste linier, skal der tages hensyn til det.
Ellers - læs hele filen, linievis, ind i en 1000 bytes stor ringbuffer - slet filen og tøm ringbufferen i en ny fil med samme navn.
http://en.wikipedia.org/wiki/Circular_buffer
Avatar billede MSchlamovitz Mester
04. oktober 2012 - 10:42 #2
Fylder én transaktion én linie i log-filen ?
Avatar billede molehonter Mester
09. april 2013 - 09:06 #3
Undskyld det sene svar, har været optaget af andre opgaver.
En transaktion i logfilen fylder en linie se eksempel:

pbo049        ACCESS        Fejl 104      08-04-2013 14:03:16        100057967 - SANDER PNEUMATIC RANDOM ORBITAL  -  3 - Bloked for Procurement          1            DK00
Avatar billede molehonter Mester
09. april 2013 - 11:54 #4
Har du en eksempel
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