FileDialog

In Access kan je onder andere tekst- en excel-bestanden inlezen in een tabel. Als je regelmatig de inhoud van zo'n bestand in wilt lezen, maar het bestand heeft steeds een andere naam, dan is het handig als je van de standaard Windows File Dialog gebruik zou kunnen maken om het bestand aan te duiden. Je hoeft dan niet telkens de code aan te passen op de bestandsnaam.

Met behulp van een code als onderstaand (die je onder een knop op een formulier zet) kan je dit realiseren.

Private Sub FD_Click()
Dim Pad As String
Dim Bestandnaam As String
Dim Regel As String

Pad = "C:\"

With Application.FileDialog(3)
   .Title = "Bestand selecteren"
   .Filters.Add "Tekstbestanden", "*.txt"
   .AllowMultiSelect = False
   .InitialFileName = Pad
   If .Show <> 0 Then
      Bestandnaam = .SelectedItems.Item(1)
      Open Bestandnaam For Input As #1
      Line Input #1, Regel
      MsgBox "Op de eerste regel van het bestand staat:" & vbLf & vbLf & Regel
      Close #1
   End If
End With
End Sub

Het pad waarmee de File Dialog opent bepaal je zelf door het pad toe te kennen aan de variabele Pad (in mijn voorbeeld is dat dus C:\). De waarde van die variabele kennen we later toe aan de eigenschap InitialFileName van de File Dialog.
Mer verder op dat we een Title kunnen geven aan de File Dialog en dat je één of meer filters in kunt stellen. Het filter in het voorbeeld zogt ervoor dat alleen txt-bestanden getoond worden.

Klik hier om de voorbeelddatabase te downloaden. Dit zip-bestand bevat de voorbeelddatabase (nou ja database, het is in ieder geval een accessbestand) plus een tekstbestandje (demo). Als je het tekstbestand op C:\ neerzet kan je het bestand via de knop op het formulier selecteren en zien wat er gebeurt.