MKDIR in Access 2007

Hi -

Trying to create a sub-directory c:\xxx\yyy from an Access 2007 form, where a new record is added, and the ..\yyy\ subdirectory needs to be created.

I see that the Shell function in VBA will run a command-line, but I can't seem to do two things - pull the text string from the form field [Y1] and put it in a string to execute Shell(cmdtxt);  and, figuring out the right command-line to emulate "MKDIR c:\xxx\yyy"

Help!

ub
RobertAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

bboswellCommented:
You can just use the "MKDIR" Function.

MKDIR "C:\XXX\YYY"

Directory XXX would have to be there first, I would also check first to make sure that YYY does not already exist.

0
RobertAuthor Commented:
The directory never shows up.  I get runtime error '53':   File not found

 Maybe it's syntax?  I've tried a few different ways.  

The Msgbox shows that flow follows the On Error trapping.
Private Sub Command1_Click()
  dirname = "Joliet Marketers"
  cmdtxt = "CD c:\'" + dirname + "'"
  On Error GoTo MakeDir
  MsgBox cmdtxt
  one = Shell(cmdtxt)
  Exit Sub
  
MakeDir:
  cmdtxt = "MkDir c:\" + dirname
   MsgBox cmdtxt
  one = Shell(cmdtxt)
End Sub

Open in new window

0
bboswellCommented:
OK you dont need to "SHELL" the MKDIR command.

So see I replaced the "one = Shell(cmdtxt)" at the end.
Private Sub Command1_Click()
  dirname = "Joliet Marketers"
  cmdtxt = "CD c:\'" + dirname + "'"
  On Error GoTo MakeDir
  MsgBox cmdtxt
  one = Shell(cmdtxt)
  Exit Sub
  
MakeDir:
  cmdtxt = "MkDir c:\" + dirname
   MsgBox cmdtxt
  'one = Shell(cmdtxt)
  MkDir ("c:\" & dirname)
End Sub

Open in new window

0
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

RobertAuthor Commented:
Huh!  So the previous Shell to test by:
cmdtxt = "CD c:\'" + dirname + "'"
doesn't really work as designed, either.

However, CD ("c:\" + dirname) does not work.  How can I check for the folder before creating it?
MKDIR works, CD doesn't?  

I'm not sure I understand what Shell actually does - I thought it allows running command-line programs.  

ub
0
bboswellCommented:
I have attached a Snippet of Code I use to Create Folders if they don't exit.

Can be used as follows:

cmdtxt = "CD c:\'" + dirname + "'"
CreateDirIfRequired(cmdtxt)
'Function to Create Directorys
Function CreateDirIfRequired(strMyPath As String)
If Len(Dir(strMyPath, vbDirectory)) = 0 Then
    MkDir strMyPath
End If
End Function
 
cmdtxt = "CD c:\'" + dirname + "'"
CreateDirIfRequired(cmdtxt)

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
RobertAuthor Commented:
Excellent!  
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.