Avatar billede mekaniker Nybegynder
13. februar 2003 - 00:15 Der er 9 kommentarer og
1 løsning

Opret mappe, hvis den ikke eksistere

Er der nogle som kan give mig et eksempel på hvordan man tjekker om en mappe eksistere, og hvis ikke så oprette en.

//Mekaniker
13. februar 2003 - 00:18 #1
IF Dir("C:\Temp",vbDirectory) = "" then mkdir "C:\Temp"
Avatar billede mugs Novice
13. februar 2003 - 00:59 #2
Sjovt nok havde jeg forleden brug for netop den funktion, men kringlede mig udenom og fandt på noget andet. Men det skal da ikke forhindre mig i at lege lidt med Thomas' kode. Nedenstående giver brugeren mulighed for at bestemme drev og navn for den nye mappe:

a = InputBox(Prompt:="Indtast på hvilket drev mappen skal oprettes:", Title:="Drev", Default:="")
b = InputBox(Prompt:="Indtast mappens navn:", Title:="Mappe", Default:="")
If Dir(a & ":" & "\" & b, vbDirectory) = "" Then
MkDir a & ":" & "\" & b
MsgBox "Mappen" & vbNewLine & vbNewLine & a & ":" & "\" & b & vbNewLine &_ vbNewLine & "er nu oprettet."
Else:
MsgBox "Mappen eksisterer i forvejen."
Exit Sub
End If
Avatar billede hugopedersen Nybegynder
13. februar 2003 - 08:08 #3
Er det meget vigtigt for dig at checke om directoriet eksisterer ?

Prøv at se http://www.eksperten.dk/spm/304391 hvor jeg har en funktion der kan oprette et diretory. Rent faktisk så får du et True/False signal for om directoriet er oprettet eller ej.  False = directory eksisterede med stor sandsynlighed allered.
Avatar billede hugopedersen Nybegynder
13. februar 2003 - 08:09 #4
allered = allerede  :-)
Avatar billede mugs Novice
13. februar 2003 - 08:30 #5
hugopedersen > Jeg har ikke afprøvet din kode, men der er noget i det du skriver som gør, at jeg ikke mener din kode er bredt anvendelig:

"directory eksisterede med stor sandsynlighed allered."

Spørgeren vil jo netop vide, om mappen eksisterer eller ej.
Avatar billede hugopedersen Nybegynder
13. februar 2003 - 08:34 #6
Altså det er nok det jeg vil kalde for en fortolkning mugs :-)

Han vil vide om den eksisterer og hvis ikke så skal den oprettes, så .....
Avatar billede hugopedersen Nybegynder
13. februar 2003 - 08:37 #7
Men ellers

Public Function fhpFolder_Exists(strFolder As String) As Boolean
' -----------------------------------------------------------------------------------
' Purpose    : Check if a folder exists
' Parameters :
' Returns    : Boolean
' Created    : 03-26-02 HP
' Modified  :
' Remarks    :
' -----------------------------------------------------------------------------------
On Error GoTo Error_fhpFolder_Exists
  Dim fsObj                                                    'Filesystem object

  Set fsObj = CreateObject("Scripting.FileSystemObject")
  fhpFolder_Exists = fsObj.FolderExists(strFolder)

Exit_fhpFolder_Exists:
  Exit Function

Error_fhpFolder_Exists:
  Select Case Err.Number
    Case 2501
    Case 3021
    Case Else
      MsgBox Err.Number & ": " & Err.Description, vbOKOnly + vbCritical, "Error in procedure 'fhpFolder_Exists'"
  End Select
  Resume Exit_fhpFolder_Exists

End Function
Avatar billede hugopedersen Nybegynder
13. februar 2003 - 08:38 #8
Efterfulgt af funktionen i http://www.eksperten.dk/spm/304391
Avatar billede mekaniker Nybegynder
13. februar 2003 - 09:05 #9
Meningen er at jeg først finder mappen hvor db'en ligger herefter skal jeg så tjekke om en mappe ved navn billeder eksistere, og hvis ikke skal det så oprettes.

Men følgende kode virker bare ikke:

-----------------------------------
Private Sub Kommandoknap4_Click()
Dim CurrentDBDir As Variant
Dim strDBPath, strDBFile, stPath, billedfolder As String
Dim fIsFileDIR As Boolean


strDBPath = CurrentDb.Name
strDBFile = Dir(strDBPath)
CurrentDBDir = Left$(strDBPath, Len(strDBPath) - Len(strDBFile))

billedfolder = CurrentDBDir & "Billeder"

fIsFileDIR = Len(Dir(billedfolder)) > 0

If fIsFileDIR = True Then
    MkDir billedfolder
End If
Avatar billede mekaniker Nybegynder
13. februar 2003 - 09:14 #10
>> Tak for hjælpen, nu virker det

Problemet var noget med en variabel der var en forkert type.
variant <-> String
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