[AccessD] More Password Stuff

Rocky Smolin rockysmolin at bchacc.com
Thu Apr 29 22:13:32 CDT 2010


Doug:

I think that may be the answer.  I was looking at the code and coming to the
conclusion that I needed two db objects - one for the source and one for the
target db, since one or both might have a password.  Then have to figure out
how to make two tdfs and get them to work together.  Your way looks way
simpler.

Rocky
 

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Doug Steele
Sent: Thursday, April 29, 2010 6:04 PM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] More Password Stuff

FWIW, here is the heart of the code that I use - basically, it drops then
recreates the tdf, rather than relinking it:

    DoCmd.RunSQL "Drop table [" & thistable & "]"
    Set tdf = CurrentDb.CreateTableDef(thistable)
    tdf.Connect = ";DATABASE=" & myr!dbPath & myr!DBName & ".mdb;pwd=" &
"zzyzzz"
    tdf.SourceTableName = thistable
    CurrentDb.TableDefs.Append tdf

Doug


On Thu, Apr 29, 2010 at 4:00 PM, Rocky Smolin <rockysmolin at bchacc.com>wrote:

> Dear List:
>
> I'm making some progress on this user's requirement to password 
> protect his back end.  He says it's OK to hard code his password in 
> the front end (it's an mde).
>
> But I ran into a problem relinking the back end.  I'm using Tribble's 
> relinker (with some minor mods) - and I need it because this app 
> supports multiple back ends - there's a database Open utility which 
> allows the user to open a copy of the back end or any other back end 
> cloned from the original delivered back end (no modifications to the
tables, please).
>
> I get to this piece of code where the link is refreshed:
>
> For Each tdf In db.TableDefs
>
> Call frmProgressMeter.pmIncrement( _
>      strIncrementMessage:="Checking table: " & tdf.Name)
>
> If Len(tdf.Connect) > 0 Then
>
>      intI = intI + 1
>
> If InStr(1, gstrRegisteredName, "ABC") <> 0 Then
>         tdf.Connect = ";DATABASE=" & varFileName & ";pwd='abcdefgh'"
> Else
>         .Connect = ";DATABASE=" & varFileName End If
>
>
> MsgBox tdf.Connect
> ' The RefreshLink might fail if the new path
> ' isn't OK. So trap errors inline.
> On Error Resume Next
> tdf.RefreshLink
>
>
> If Err <> 0 And InStr(1, tdf.Name, "MWCI") = 0 Then
>      MsgBox strError, vbExclamation, "Table Link Failure - " & tdf.Name &
> Err
>      Application.Quit
> End If
>
>
> End If
>
>
> varFileName contains the patha and name of then back end.
>
> The app starts out linked to a back end that has no password.  I use the
> app's Open a Database Utility to point to the back end with the password
> and
> call Tribble's Relinker.
>
> If the registered user name contains ABC (true in this case) then I set
the
> Connect property of the Table Def (tdf) using the password.  Otherwise,
> not.
>
> When it comes down to tdf.RefreshLink, I get an 'Invalid Password' error.
>
> Does anyone know why this should happen?
>
>
>
> MTIA
>
>
>
> Rocky Smolin
>
> Beach Access Software
>
> 858-259-4334
>
> www.e-z-mrp.com <http://www.e-z-mrp.com/>
>
> www.bchacc.com <http://www.bchacc.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




More information about the AccessD mailing list