Avatar billede pemaje Nybegynder
21. december 2007 - 22:46 Der er 7 kommentarer og
1 løsning

Tjek om tekstfil er tom

Jeg har følgende:

Private Sub Kommandoknap128_Click()
Dim MyFileVarer As String

MyFileVarer = Application.CurrentProject.Path & "\VARER.DAT"

If XXXXXXXXXXXXX Then
  MsgBox "Filen er tom!"
Else
  MsgBox "Filen er IKKE tom!"
  DoCmd.SetWarnings True
  Call fHandleFile(MyFileVarer, WIN_NORMAL)
  DoCmd.SetWarnings True
End If
End Sub

Hvordan tjekker jeg om filen VARER.DAT (indeholder almindelig tekst eller er tom) om denne er tom? Kan jo ikke anvende MyFileVarer, da denne jo "kun" indeholder pathen til filen.
Avatar billede terry Ekspert
22. december 2007 - 17:41 #1
You can use something like this

Function readFile()

Dim sdata As String
Dim MyFileVarer As String

MyFileVarer = Application.CurrentProject.Path & "\VARER.DAT"

Open MyFileVarer For Input Access Read As #1

On Error GoTo Err_proc
Line Input #1, sdata

Close #1

Exit Function


Err_proc:
   
    If Err.Number = 62 Then
        MsgBox "Empty ...."
    End If
   



End Function
Avatar billede terry Ekspert
22. december 2007 - 17:43 #2
S if the file isnt empty you would have your code between

Close #1
....
Exit Function
Avatar billede pemaje Nybegynder
22. december 2007 - 20:28 #3
Hi Terry

Jeg er ikke sikker på, at jeg helt forstår dit indlæg.

Min idé er, at jeg ved tryk på en knap enten skal have af vide, om filen er tom og så ikke foretage noget, eller om filen indeholder data, og så åbne filen.
Hvordan får jeg lagt din Function readfile() in på kommandoknappen?
Samtidig var det min mening at ændre teksten på knappen alt efter om der er tekst i filen eller ej, altså lægge følgende i formularens 'ved aktivering' :

Private Sub Form_Activate()

If ??????? filens indhold ???????? = "" Then
    Me!Kommandoknap71.ForeColor = 13056
    Me!Kommandoknap71.FontSize = 8
    Me!Kommandoknap71.Caption = "TOM"
Else
    Me!Kommandoknap71.ForeColor = vbRed
    Me!Kommandoknap71.FontSize = 11
    Me!Kommandoknap71.Caption = "DER ER TEKST I FILEN"
End If

Hvordan anvender jeg eventuelt din function readfile() i mine IF sætninger????
Avatar billede terry Ekspert
23. december 2007 - 10:24 #4
If we keep to your original code



Private Sub Kommandoknap128_Click()
Dim MyFileVarer As String
Dim sdata As String

MyFileVarer = Application.CurrentProject.Path & "\VARER.DAT"


On Error GoTo Err_proc
  Line Input #1, sdata
  Close #1


    Me!Kommandoknap71.ForeColor = vbRed
    Me!Kommandoknap71.FontSize = 11
    Me!Kommandoknap71.Caption = "DER ER TEKST I FILEN"



    DoCmd.SetWarnings True
    Call fHandleFile(MyFileVarer, WIN_NORMAL)
    DoCmd.SetWarnings True


Exit Function

Err_proc:
   
    If Err.Number = 62 Then
      Me!Kommandoknap71.ForeColor = 13056
        Me!Kommandoknap71.FontSize = 8
        Me!Kommandoknap71.Caption = "TOM"

    Close #1
   
    End If


End Sub
Avatar billede pemaje Nybegynder
24. december 2007 - 13:11 #5
Hej Terry

Jeg kan ikke få følgende til at fungere (den øverste if-sætning virker). Det er meningen at teksten på knappen skal ændres alt efter om filen VARER.DAT er tom eller ej. Hvad gør jeg galt?

Private Sub Form_Activate()

If DCount("*", "S_OPDATSTREGKODER") = 0 Then
    Me!Kommandoknap160.ForeColor = 13056
    Me!Kommandoknap160.FontSize = 8
    Me!Kommandoknap160.Caption = "TOM TABEL"
Else
    Me!Kommandoknap160.ForeColor = vbRed
    Me!Kommandoknap160.FontSize = 9
    Me!Kommandoknap160.Caption = "TABEL (" & DCount("*", "S_OPDATSTREGKODER") & ")"
End If

Dim MyFileVarer As String
Dim sdata As String

MyFileVarer = Application.CurrentProject.Path & "\VARER.DAT"

On Error GoTo Err_proc
  Line Input #1, sdata
  Close #1

    Me!Kommandoknap128.ForeColor = vbRed
    Me!Kommandoknap128.FontSize = 11
    Me!Kommandoknap128.Caption = "DATA"

Exit Sub

Err_proc:
   
    If Err.Number = 62 Then
      Me!Kommandoknap128.ForeColor = 13056
      Me!Kommandoknap128.FontSize = 8
      Me!Kommandoknap128.Caption = "TOM"

    Close #1
   
    End If

End Sub
Avatar billede terry Ekspert
07. januar 2008 - 09:44 #6
Oops, didnt see you had placed a comment, sorry and a belated Happy New Year :o)

Can you explain what happens, do you get an error or does it not works as expected?
Avatar billede terry Ekspert
15. januar 2008 - 18:03 #7
do you still need help here?
Avatar billede terry Ekspert
19. november 2008 - 17:58 #8
thanks
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