[AccessD] database in a state by Admin such that it is prevented from being "accessed" - to read and import its objects via automation or db to db

William Benson vbacreations at gmail.com
Wed May 30 21:20:47 CDT 2012


I get it even when no objects are open and I have just opened the database
and there is neither a startup form nor autoexec. Just something about how
it is opened by default.

Someone getting warmer to a general condition?
On May 30, 2012 10:16 PM, "Brad Marks" <BradM at blackforestltd.com> wrote:

> William,
>
> I have seen this happen once in a while also.
>
> Recently I read that this message will not appear if a person closes all
> reports, forms, modules etc. in both the "source" and "target" database.
>
> I plan to try this the next time I see this message.
>
> Brad
>
>
>
>
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com on behalf of William Benson
> Sent: Wed 5/30/2012 9:03 PM
> To: Access Developers discussion and problem solving
> Subject: Re: [AccessD] database in a state by Admin such that it is
> prevented from being "accessed" - to read and import its objects via
> automation or db to db
>
> All on my local hd. Its just some dbs allow and others don't. I can't
> figure out the difference between dbs.
>
> If it would just happen every time I would honestly be happier. As it is it
> is frustrating me to no end.
> On May 30, 2012 3:40 PM, "Michael Mattys" <michael at mattysconsulting.com>
> wrote:
>
> > I had the same problem on a client's network.
> > It turned out to be that the Windows Login did not have write
> permissions.
> > The admin had it set to shared, but had to right click on the folder and
> > set
> > the properties.
> >
> > hth,
> >
> > Michael R Mattys
> > Mattys Consulting, LLC
> > www.mattysconsulting.com
> >
> >
> > -----Original Message-----
> > From: accessd-bounces at databaseadvisors.com
> > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Benson,
> William
> > (GE Global Research, consultant)
> > Sent: Wednesday, May 30, 2012 12:30 PM
> > To: Access Developers discussion and problem solving
> > Subject: [AccessD] database in a state by Admin such that it is prevented
> > from being "accessed" - to read and import its objects via automation or
> db
> > to db
> >
> > I am trying to automate reference to a database, so that I can write the
> > schema to an excel worksheet. What I do is look to see whatever is the
> > currentdb object of the currently running instance of access, then note
> > currentdb.name to get its path, then close it, and re-open it through
> > automation. I TOTALLY HATE having to do that, however what I had found
> was
> > that when I do not close the database, I get an error message about the
> > database being placed in a status by user Admin which does not permit
> > changes to it (including, apparently, looping through the properties of
> > certain objects within the database). That is why I started closing it.
> >
> > However ... I came to find out that for some databases, I do not run into
> > that error message.
> >
> > Is there a way to prevent the database, when opening, from being placed
> in
> > that state that says others cannot access it? This would fix other
> problems
> > I have found when, for example, I want to import tables and other objects
> > from one open database into another. I often get a message from Access
> that
> > the one I want to import FROM is placed in some state by User Admin which
> > prevents its being opened.
> >
> > HATE that.
> >
> >
> > TMIA....
> >
> > Public Sub GetMySchema()
> > Dim T As Object
> > Dim f As Object
> > Dim Arr()
> > Dim strName As String
> > Dim UB As Long
> > Dim DB As Object
> > Dim i As Long
> > Dim WS As Worksheet
> >
> > Set DB = GetDB   'Fetch and close the currentdb, then reopen it to be
> sure
> > we have Admin privileges
> > 'Retrieve the schema of the currentdb open in a single instance of Access
> > '         I would prefer to be able to do this
> > '          Set DB =
> >
> >
> GETOBJECT(,"Access.Application").GetDBEngine.Workspaces(0).OpenDatabase(strN
> > ame)
> >
> > ReDim Arr(1 To 4, 0 To 0)
> > For Each T In DB.TableDefs
> >    strName = UCase(T.Name)
> >  If Not InStr(strName, "MSYS") = 0 And InStr(strName, "SOLARCONNECT") = 0
> > And InStr(strName, "GIBIX_") = 0 Then
> >
> >    For Each f In T.Fields
> >      UB = UB + 1
> >      If UB = 1 Then
> >        ReDim Arr(1 To 4, 1 To 1)
> >      Else
> >        ReDim Preserve Arr(1 To 4, 1 To UB)
> >      End If
> >      Arr(1, UB) = T.Name
> >      Arr(2, UB) = f.Name
> >      Select Case f.Type
> >      Case Is = 1
> >        'Boolean
> >        Arr(4, UB) = "NUMBER(1,0)"
> >    Case Is = 4
> >        Arr(4, UB) = "NUMBER(10)"
> >    Case Is = 5
> >        Arr(4, UB) = "NUMBER(12,2)"
> >    Case Is = 7
> >        Arr(4, UB) = "NUMBER(12)"
> >    Case Is = 8
> >        Arr(4, UB) = "DATE"
> >    Case Is = 10
> >        Arr(4, UB) = "VARCHAR2(" & f.Size & ")"
> >    Case Is = 12
> >        Arr(4, UB) = "VARCHAR2(4000)"
> >    Case Is = 101
> >        Arr(4, UB) = "BLOB"
> >    End Select
> >    Arr(3, UB) = IIf(f.Required, "NOT NULL", "")
> >
> >    Next
> > ...
> > END SUB
> >
> > Public Function GetDB() As Object
> > Dim Ac As Object
> > Dim GetDBEngine As Object
> > Dim strName As String
> > On Error Resume Next
> > Set Ac = GetObject(, "Access.Application") If Ac Is Nothing Then
> >  Exit Function
> > End If
> >
> > 'try 120
> >
> >
> > Set GetDBEngine = CreateObject("DAO.DBEngine.120") If Err.Number <> 0
> Then
> > 'try 36
> >  Err.Clear
> >  Set GetDBEngine = CreateObject("DAO.DBEngine.36")
> >  If Err.Number <> 0 Then
> >    Set GetDBEngine = CreateObject("DAO.DBEngine.35")
> >  End If
> > End If
> > If Not GetDBEngine Is Nothing Then
> >    strName = Ac.currentdb.Name
> >    Ac.Quit
> >    DoEvents
> >    Set Ac = CreateObject("Access.Application")
> >    Set GetDB = GetDBEngine.Workspaces(0).OpenDatabase(strName)
> > End If
> >
> > End Function
> >
> > --
> > AccessD mailing list
> > AccessD at databaseadvisors.com
> > http://databaseadvisors.com/mailman/listinfo/accessd
> > Website: http://www.databaseadvisors.com
> >
> > --
> > AccessD mailing list
> > AccessD at databaseadvisors.com
> > http://databaseadvisors.com/mailman/listinfo/accessd
> > Website: http://www.databaseadvisors.com
> >
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
>
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
>


More information about the AccessD mailing list