Avatar billede henrik13 Nybegynder
22. december 2002 - 11:09 Der er 14 kommentarer og
1 løsning

Dir

Jeg har en listebox, der vil jeg gerne havde vist alle mine filer på E drevet i katteloget Ad.
Hvad skrives der i listeboxen, så den ved åbning viser alle mine filer der er skrevet i rtf.
Jeg kører access 97, og kun danske svar.
Henrik
Avatar billede fynbohans Nybegynder
22. december 2002 - 13:52 #1
Har kun Access2000 her, men du skal i alle tilfælde have flyttet
filnavnene over i en tabel.
Start med at studere emnet og eksemplerne i Visual Basic Hjælp under
FileSystemObject.
Avatar billede henrik13 Nybegynder
22. december 2002 - 13:57 #2
Tak for tippet, men det var den reg. i tabel jeg ville undgå.
Henrik
Avatar billede arne_v Ekspert
22. december 2002 - 14:29 #3
Hvorfor ikke kalde den Windows funktion som alle Windows
applikationer bruger til at vælge en fil med ?

Det virker meget windowsk og alle bruger kender den !

Og det er ikke noget problem at kalde den fra en lille
stump VB kode og putte den valgte fil ind hvor du måtte
ønske det.
Avatar billede fdata Forsker
22. december 2002 - 19:41 #4
Prøv med:

Private Sub FillFilesInCombo(CtlNavn As String, Mappe As String, FilType As String)
  Dim FilNavn As String
 
  With Me.Controls(CtlNavn)
    .Value = ""
    .RowSourceType = "Value List"
    .RowSource = ""
   
    FilNavn = Dir(Mappe & FilType, vbNormal)
    Do Until FilNavn = ""
      If .RowSource <> "" Then .RowSource = .RowSource & ";"
      .RowSource = .RowSource & FilNavn
      FilNavn = Dir
    Loop
    .Requery
  End With
End Sub

Private Sub Form_Open(Cancel As Integer)
  Call FillFilesInCombo("Combo1", "E:\Ad\", "*.rtf")
End Sub
Avatar billede nih Novice
22. december 2002 - 23:29 #5
Option Compare Database
Option Explicit

Private Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As String
    nMaxCustFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    Flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
End Type

Declare Function GetOpenFileName Lib "comdlg32.dll" _
    Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long



Function SelectFiler() As String
' Opens the Open dialog with default values.

    Dim msaof As OPENFILENAME
    Dim intRet As Integer
    Dim strRet As String
      'initialize sensible fields of OPENFILENAME
  With msaof
      .Flags = &H100000
      .lpstrInitialDir = "E:\add\"
      .lStructSize = Len(msaof)
      .lpstrTitle = "Find Filer"
      .lpstrFilter = "*.rtf filer" & vbNullChar & "*.rtf" & vbNullChar & vbNullChar
      .lpstrFile = String$(255, 0)
      .nMaxFile = 255
  End With
 
    intRet = GetOpenFileName(msaof)
    If intRet Then
        strRet = msaof.lpstrFileTitle
        strRet = Mid(msaof.lpstrFile, 1, InStr(msaof.lpstrFile, Chr(0)) - 1)
    End If
   
    SelectFiler = strRet
 
End Function



Sub test()
    MsgBox SelectFiler()

End Sub

Hvad med at bruge en af window egne funktioner.
Avatar billede henrik13 Nybegynder
22. december 2002 - 23:33 #6
fdata
Dit kan jeg ikke få til at kører.

nih
jeg kikker på dit nu
Henrik
Avatar billede henrik13 Nybegynder
22. december 2002 - 23:36 #7
nih
Er der en lettere måde
Henrik
Avatar billede nih Novice
22. december 2002 - 23:47 #8
Mja.... Det kommer an på hvad du skal bruge det til.

Jeg har en textbox på en form med flg Kode:

Private Sub txtExcel_Adr_DblClick(Cancel As Integer)
On Error Resume Next
    txtExcel_Adr.Value = SelectFiler
 
End Sub

Med den før nævnte funktion 'SelectFiler' i et eksternt modul, kan brugeren hente filnavnet ned i textboxen. Det er godt nok til mig :o)
Avatar billede henrik13 Nybegynder
23. december 2002 - 00:03 #9
nih
Det jeg er ved at opbygge en en dukoment samling til access. Jeg har skrevet og samlet mange ting ind fra experten, det er uoverskuligt nu. Derfor ville jeg starte med en listebox til filerne, og derefter sortere dem. Jeg så systemet ved jkf soft, der kun sælger i en flerbrugervasion til ca. 2500 kr x min. 5 brugere. Så det var lige meget.
Henrik
Avatar billede fdata Forsker
23. december 2002 - 10:26 #10
Hvorfor kører det ikke?
Du skal bare indsætte navnet på din Combo control:
Call FillFilesInCombo("<Navnet>", "E:\Ad\", "*.rtf")
Avatar billede henrik13 Nybegynder
23. december 2002 - 12:22 #11
fdata
Jeg prøver lige igen.
Henrik
Avatar billede henrik13 Nybegynder
25. december 2002 - 17:04 #12
fdata

Kan du sende et exempel, da jeg stadig ikke kan få det til at virke. Min mail er:
oz1bua@wanadoo.dk

Henrik
Avatar billede fdata Forsker
26. december 2002 - 12:53 #13
Eksempel sendt.
Avatar billede henrik13 Nybegynder
26. december 2002 - 13:41 #14
fdata
Det virker perfekt.
Henrik
Avatar billede fdata Forsker
26. december 2002 - 15:43 #15
Fint. Så blev det jo en god jul alligevel  *<:o)
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