Avatar billede porsager Nybegynder
09. november 2005 - 14:14 Der er 6 kommentarer og
2 løsninger

Starte søgning i specifik mappe.

Starte i specifik mappe.
    100 point fra porsager   

X
Hejsa.

Jeg har et felt hvor jeg kan trykke browse for at vælge stien til en bestemt mappe. Nu er det sådan at når jeg trykker browse så kommer den op med skrivebordet som "rod". Er det muligt at sætte den til at starte et andet sted, som f.eks f:\start her\i denne mappe.

Koden ser således ud:
Public Function BrowseFolder(szDialogTitle As String) As String
  Dim X As Long, bi As BROWSEINFO, dwIList As Long
  Dim szPath As String, wPos As Integer

    With bi
        .hOwner = hWndAccessApp
        .lpszTitle = szDialogTitle
        .ulFlags = BIF_RETURNONLYFSDIRS
    End With

    dwIList = SHBrowseForFolder(bi)
    szPath = Space$(800)
    X = SHGetPathFromIDList(ByVal dwIList, ByVal szPath)

    If X Then
        wPos = InStr(szPath, Chr(0))
        BrowseFolder = Left$(szPath, wPos - 1)
    Else
        BrowseFolder = "Vælg Programmappe"
    End If
End Function

Og så har jeg en knap der kalder "browsefolder"

Mvh Rasmus Porsager
Avatar billede jesperfjoelner Nybegynder
09. november 2005 - 14:20 #1
Der må være noget mere kode i toppen af dit modul for funktionen virker ikke umiddelbart, så der hører noget mere med.

Det fleste af disse kodestumper, som åbner et "browse"-vindue kan sættes til at åbne i en bestemt folder.

Kan det være variablen szPath som man f.eks. kan sætte til "c:\myfolder"  ?
Avatar billede porsager Nybegynder
09. november 2005 - 14:23 #2
Hovsa, min fejl der er dette ovenover:

Private Type BROWSEINFO
  hOwner As Long
  pidlRoot As Long
  pszDisplayName As String
  lpszTitle As String
  ulFlags As Long
  lpfn As Long
  lParam As Long
  iImage As Long
End Type

Private Declare Function SHGetPathFromIDList Lib "Shell32.dll" Alias _
            "SHGetPathFromIDListA" (ByVal pidl As Long, _
            ByVal pszPath As String) As Long
         
Private Declare Function SHBrowseForFolder Lib "Shell32.dll" Alias _
            "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) _
            As Long
         
Private Const BIF_RETURNONLYFSDIRS = &H1
Avatar billede terry Ekspert
09. november 2005 - 14:36 #3
Avatar billede terry Ekspert
09. november 2005 - 14:38 #4
if you take a look at this link
http://www.mvps.org/access/api/api0002.htm
then you will see that ther is a link to add the functionality you require
Avatar billede porsager Nybegynder
09. november 2005 - 14:44 #5
Hi Terry..

Jeg kan se at det kan lade sig gøre, men jeg er ikke specielt god til alt det kodning, kan nogen gange gennemskue det, men det er ikke noget jeg er god til. Kan du fortælle mig hvor jeg skal sætte hvad ind ? Jeg har et felt hvor adressen til folderen skal vises, og der kan jeg godt starte med at sætte navnet på "start-folderen" ind.

Håber du kan følge mig :-)
Avatar billede porsager Nybegynder
09. november 2005 - 15:49 #6
Mange tak for hjælpen. Fandt ud af det ved hjælp af dine links alligevel terry..
Avatar billede terry Ekspert
09. november 2005 - 15:49 #7
If you download the example from the link I gave http://www.lebans.com/callbackbrowser.htm


You need to copy the module modCallBacks to your database.

Then open the form frmCallbacks and copy the function

BrowseForFolderByPath to your database.

Now you have to call BrowseForFolderByPath like this

Dim MyFolder as string

MyFolder = BrowseForFolderByPath("C:\")


and you can use

MyFolder = BrowseForFolderByPath(variableContainingStartPath)

where variableContainingStartPath is a variable with the start path in

I'm off home now will look later
Avatar billede terry Ekspert
09. november 2005 - 15:50 #8
didnt see your last comment, great and 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





White paper
Tidsbegrænset kampagne: Overvejer du at udskifte eller tilføje printere i din forretning? Vi kan tilbyde én eller flere maskiner gratis