[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

Permission Denied error 70 when using filecopy

Posted on 2011-03-19
6
Medium Priority
?
1,233 Views
Last Modified: 2012-05-11
I have a split database and wish to make a copy of the data back-end via code.  To do this, I have a button on a form which calls the copy routine.  One of the first actions in the code is to close the form which called the routine to ensure any remaining unwritten data is written to the database.

When I step through the code using F8 the routine works perfectly.  When I run the code from the button on the form, I get an Error 70 Permission Denied error on the FileCopy line.  I suspect that the backend database is still locked.  but I don't know how I can get around this problem.

I've tried putting in a loop that continues to try the filecopy routine until the Error 70 doesn't occur.  However, this doesn't seem to work as the routine gets trapped in the loop.

Is there a way to test if the Error 70 will occur before attempting it?  Maybe testing to see if the back-end database is still locked?

Here's the code:
=============
Sub CreateBackUp()
    On Error GoTo ErrTrap
   
    'close any open forms and present the backup dialog
    DoCmd.Close acForm, "frmContacts"
   
    'grab the current backend name to rename the copy when its made
    Dim myLinkedName
    myLinkedName = CurrentDb.TableDefs("tblContacts").Connect
    myLinkedName = Right(myLinkedName, Len(myLinkedName) - InStr(1, myLinkedName, "="))
   
    'make the copy
    FileCopy Source:=myLinkedName, destination:=Left(myLinkedName, Len(myLinkedName) - 6) & " " & Format(Now(), "yyyymmddhhss") & ".dcsdb"
   
    'reopen the contacts form
    DoCmd.OpenForm "frmContacts"
   
    'avoid the error trap
    Exit Sub
     
ErrTrap:
    MsgBox "An unexpected error occured and is described as: " & Err.Description
    DoCmd.OpenForm "frmContacts"
    Exit Sub
   
End Sub
=================

Many thanks for your help.
0
Comment
Question by:BigDaveStafford
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
6 Comments
 
LVL 75
ID: 35174248
Instead of using FileCopy, use the File System Object, wherein you can copy an open file.

Here are some links to get you started:

http://msdn.microsoft.com/en-us/library/aa242124%28VS.60%29.aspx

http://msdn.microsoft.com/en-us/library/hww8txat%28VS.85%29.aspx

http://msdn.microsoft.com/en-us/library/z9ty6h50.aspx

mx
0
 

Author Comment

by:BigDaveStafford
ID: 35174321
Thanks for this comment.  If I use the File System Object can I be sure that any data from the form has been written to the backend file?

Thanks
0
 
LVL 75

Accepted Solution

by:
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform) earned 1000 total points
ID: 35174334
" If I use the File System Object can I be sure that any data from the form has been written to the backend file?"

The FSO in itself will not insure that. You must do that, by Saving any current data that is being edited. But that should be easy to do.

I use the FSO daily in a backup routine that backups up 25 mdb backends on a server.  

Where exactly are you running this backup code from ?
0
Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

 

Author Comment

by:BigDaveStafford
ID: 35175077
Thanks again. I'll give the fso a try. I'm running the code from the front end of a split database so ensuring there's no pending edits should be easy.

Thanks
0
 
LVL 75
ID: 35175869
ok
0
 
LVL 75
ID: 35176290
LOTS of cool things you can do with FSO ... pretty easy to use also.

thx.mx
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
In Part II of this series, I will discuss how to identify all open instances of Excel and enumerate the workbooks, spreadsheets, and named ranges within each of those instances.
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

649 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question