[AccessD] Knowing when DB is read-only

A.D.Tejpal adtp at touchtelindia.net
Wed Feb 16 10:39:23 CST 2005


Erwin,

    You are most welcome! Yes, the status is returned correctly even from within the db. 

    Incidentally, if you attempt to open a db that is read only,  Access comes up with a warning message as well.

    An expanded version of the function is given below.

A.D.Tejpal
--------------

====================================
Function Fn_GetDbStatus(ByVal Fpt _
                                     As String) As String
    Dim fso As FileSystemObject, fe As File
    Dim Dbs As Long, Sts As String
    
    Sts = "Other"      ' Default Value
    
    Set fso = New FileSystemObject
    Set fe = fso.GetFile(Fpt)
    Dbs = fe.Attributes
    Select Case Dbs
        Case 1
            Sts = "ReadOnly"
        Case 2
            Sts = "Hidden"
        Case 32
            Sts = "Archive"
        Case 3
            Sts = "ReadOnly + Hidden"
        Case 33
            Sts = "ReadOnly + Archive"
        Case 34
            Sts = "Archive + Hidden"
        Case 35
            Sts = "ReadOnly + Archive + Hidden"
    End Select
    
    Fn_GetDbStatus = Sts
    
    Debug.Print Dbs

    Set fso = Nothing
    Set fe = Nothing
End Function
====================================

  ----- Original Message ----- 
  From: Erwin Craps - IT Helps 
  To: Access Developers discussion and problem solving 
  Sent: Wednesday, February 16, 2005 16:59
  Subject: RE: [AccessD] Knowing when DB is read-only


  Thank you

  Would I be able to get a correct filestatus from within the databasefile itself?

  Erwin

  -----Original Message-----
  From: accessd-bounces at databaseadvisors.com
  [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.Tejpal
  Sent: Tuesday, February 15, 2005 7:39 PM
  To: Access Developers discussion and problem solving
  Subject: Re: [AccessD] Knowing when DB is read-only

  Erwin,

      You should be able to get the status via file system object.
  Suitable user defined function is given below. Reference to Microsoft
  Scripting RunTime is needed.

      Following expression will get the status for the current db.
          Fn_GetDbStatus(CurrentProject.FullName)

  With best wishes,
  A.D.Tejpal
  --------------

  ================================
  Function Fn_GetDbStatus(ByVal Fpt _
                                      As String) As String
      Dim fso As FileSystemObject, fe As File
      Dim Dbs As Long, Sts As String
      
      Sts = "Other"      ' Default Value
      
      Set fso = New FileSystemObject
      Set fe = fso.GetFile(Fpt)
      Dbs = fe.Attributes
      Select Case Dbs
          Case 1
              Sts = "ReadOnly"
          Case 2
              Sts = "Hidden"
          Case 32
              Sts = "Archive"
      End Select
      
      Fn_GetDbStatus = Sts

      Set fso = Nothing
      Set fe = Nothing
  End Function
  ================================

    ----- Original Message -----
    From: Erwin Craps - IT Helps
    To: Access Developers discussion and problem solving
    Sent: Tuesday, February 15, 2005 15:59
    Subject: [AccessD] Knowing when DB is read-only

    Dear group
     
    I have a backend MDB database that is about 677MB in size and   growing....
    For reasons of fast recovery this file is not only backuped on tape   several times a day, but also copied several times a day to my
  notebook
    computer (using briefcase but I don't use syncing at datalevel, just
    file level).
     
    Because copying this file takes about a minute or so, it seems that
  the
    database get's in a read-only state.
    I noticed this because on my server two applications run every 2,5
    minutes dooing some stuff on it, but during the filecopy I get "No
    updateable query" errrors.
     
    So the question is, how can I get the state of the database during
    opening so I can leave straightaway the application on the server when
    it notices that the backend is read-only or whatever state while
  copying
    the file to my notebook???
     
    Greetz 

    Erwin Craps
    Zaakvoerder 



More information about the AccessD mailing list