Avatar billede juks Novice
27. april 2001 - 12:22 Der er 2 kommentarer og
1 løsning

kun sti ved database.name

her i denne kode for jeg hele stien + xx.mdb  hvordan for jeg kun stien frem uden xxx.mdb.


kode start -----

Dim sti    As String    \'Fuldt kvalificeret filnavn
    Dim lngpos As Long      \'Position vi læser med
    Dim lngtmp As Long      \'Position vi gemmer


\'Sti = den fulde sti på databasen
    sti = CurrentDb.Name


\'Lngpos = 1 fordi vi skal undersøge sti fra første position
lngpos = 1

\'Vi starter et do gennemløb der stopper når lngpos = 1 (når der ikke findes flere \"\\\")
Do
\'lngpos = position hvor der er en \"\\\"
lngpos = InStr(lngpos, sti, \"\\\")

\'Hvis lngpos er størere end nul er der fundet en \"\\\" på den angivne position
If lngpos > 1 Then
  lngtmp = lngpos    \'Vi gemmer den fundne position
  lngpos = lngtmp + 1  \'lngpos blir en større da vi nu skal læse videre i stien
End If
Loop Until lngpos = 0 \'Se starten af do

lngtmp = 1 \'Vi lægger 1 til da den vi har her jo er den sidste position hvor der er en \"\\\"

\'Database ETIKETTEN får titeltekst sti fra position lngtmp og resten af stien
sti = Mid(sti, lngtmp)
kode slut---------
Avatar billede juks Novice
27. april 2001 - 12:28 #1
Function RetrievePathFile(Optional vComponent As Variant)

        \' This function takes an optional argument that specifies
        \' whether you want to return the directory portion of
        \' the path or the file portion of the path.
        \' Usage: If you want to return only the name of the file
        \' without the path, use the syntax:
        \'    RetrievePathFile(\"FName\")
        \' If you supply a different argument or no argument at all
        \' the function returns only the folder in which the file is
        \' located.
        Dim strCurDBName As String
        Dim i As Integer  \' loop counter.
        strCurDBName = CurrentDb.Name
        \' Loop backward through string to find last \"\\\"
        For i = Len(strCurDBName) To 1 Step -1
            If Mid(strCurDBName, i, 1) = \"\\\" Then
              If IsMissing(vComponent) Then
                  RetrievePathFile = Mid(strCurDBName, 1, i - 1)
              ElseIf vComponent = \"FName\" Then
                  RetrievePathFile = Mid(strCurDBName, i + 1)
              Else
                  RetrievePathFile = Mid(strCurDBName, 1, i - 1)
              End If
            Exit For
            End If
        Next i


SÅ KAN MAN VÆLGE :

RetrievePathFile()
Avatar billede proaccess Nybegynder
27. april 2001 - 12:33 #2
  Dim sti As String, i As Integer
  sti = CurrentDb.Name
  i = Len(sti)
  While Mid(sti, i, 1) <> \"\\\"
    i = i - 1
  Wend
  sti = Left(sti, i)
  MsgBox sti
Avatar billede juks Novice
27. april 2001 - 13:17 #3
men hvorfor kan jeg ikke bruge det hvis der kun er installeret runtime installeret på maskinen...
det virker fint på \"alm\" pc.
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