A.D.Tejpal
adtp at airtelmail.in
Tue Oct 6 14:08:09 CDT 2009
Rocky, That too can be handled as part of the same automated process. Let the form for changing BE password be available only in the master FE handled by an authorized person. This FE can have a table T_FePaths holding the full paths of all other front ends in its field named FePath. Additional subroutine named P_ExportLinkedTablesToAllFrontEnds() in VBA module of master FE as given below, would export the freshly linked tables to all other front ends. Revised code in click event of the command button would be as follows: ' Code in form's module '========================== Private Sub CmdSetNewPwd_Click() If Len(Me.TxtPwdNew) > 0 And _ Me.TxtPwdNewConfirm = _ Me.TxtPwdNew Then P_ChangeBePwdAndRelink Me.TxtPwdNew P_ExportLinkedTablesToAllFrontEnds Else MsgBox "Discrepancy in entries" End If End Sub '========================== Note: (a) Using True as second argument in OpenDatabase method in subroutine named P_ChangeBePwdAndRelink() as given in my earlier post ensures that the back end db is handled in exclusive mode while changing the password. (b) TransferDatabase method has the advantage that while implementing export action, if an object with the given name already exists in the target db, it gets replaced by the exported one silently, without any warning message. (c) Moreover, TransferDatabase action is remarkably faster than the combination of actions represented by OpenDatabase > DeleteTable > CopyTable methods. Best wishes, A.D. Tejpal ------------ ' Code in general or form's module '============================== Sub P_ExportLinkedTablesToAllFrontEnds() On Error GoTo ErrTrap Dim db As DAO.Database Dim rst1 As DAO.Recordset Dim rst2 As DAO.Recordset Dim Qst As String, Tnm As String Set db = DBEngine(0)(0) ' Paths of all front ends other than the master FE ' (Table T_FePaths has paths of all FE's in field FePath) Qst = "SELECT FePath FROM T_FePaths;" Set rst1 = db.OpenRecordset(Qst) ' Names of all linked tables in master FE Qst = "SELECT Name FROM MSysObjects " & _ " WHERE Type = 6;" Set rst2 = db.OpenRecordset(Qst) ' Copy all linked tables from master FE to ' all other FE's Do Until rst1.EOF rst2.MoveFirst Do Until rst2.EOF ' Copy linked table from master FE ' to other FE Tnm = rst2.Fields(0) DoCmd.TransferDatabase acExport, _ "Microsoft Access", rst1.Fields(0), _ acTable, Tnm, Tnm rst2.MoveNext Loop rst1.MoveNext Loop ' Note: ' TransferDatabase method has the advantage ' that while implementing export action, if an ' object with given name, already exists in the ' target db, it gets replaced by the exported one, ' without any warning message. ' Moreover, TransferDatabase action is remarkably ' faster than the combination of actions represented by ' OpenDatabase > DeleteTable > CopyTable methods. ExitPoint: On Error Resume Next rst1.Close rst2.Close Set rst1 = Nothing Set rst2 = Nothing Set db = Nothing On Error GoTo 0 Exit Sub ErrTrap: MsgBox Err.Number & " - " & Err.DESCRIPTION Resume ExitPoint End Sub '===================================== ----- Original Message ----- From: Rocky Smolin To: 'Access Developers discussion and problem solving' Sent: Tuesday, October 06, 2009 22:24 Subject: Re: [AccessD] Invalid Password Well, there's a potential procedural problem. Each user has their own copy of the FE. So the head guy should change the password and then, after relinking HIS FE, distribute that FE to the other users. I think. R -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Drew Wutka Sent: Tuesday, October 06, 2009 8:57 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Invalid Password Just saw it. Looks like a good solution. Just as an FYI, if multiple people go into this Front end, when the password changes, it will lock the users out when one person goes in. (I'm about 90% certain, because this process will probably require exclusive access to the front end....) Drew -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin Sent: Tuesday, October 06, 2009 10:23 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Invalid Password Drew: Thanks for the reply. Did you see A.D.'s solution. I think that will work. They're using 2003 and actually the primary machine is still on A2K which causes reference problems. He's on the IT list for an upgrade. Has been for about 2 years. R