[AccessD] Invalid Password

Max Wanadoo max.wanadoo at gmail.com
Fri Oct 2 16:10:41 CDT 2009


Lambert, hi.
This is a bit weird.
In the first mdb I tested, it compiled with error when placed in 2 modules
but each value was different and kept difference when tested.

So, I created a blank mdb and done same thing.  This time it  wouldn't
compile without an error.

Anyway, I don't  use them any more..but that is  obviously one  less  thing
for Rocky to test.

Max


-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert
Sent: 02 October 2009 21:49
To: 'Access Developers discussion and problem solving'
Subject: Re: [AccessD] Invalid Password

Hi Max,

Indeed you can *declare* a Global (or a Public) variable in more than one
regular module. But as soon as you try to *use* the variable the code line
that does so will generate the  compile error: "Ambiguous name detected:
YourVariableName" 

Interestingly 'Public' and 'Global' are not exactly the same thing, because
if you try to declare a Global in the CBF then you will find that the IDE
issues a compile error (as soon as you hit enter on the code line): 

Constants, fixed-length strings, arrays, user-define types and Declare
statements not allowed as Public members of object modules"

 (as we know, form code modules are really Class (Object) modules.)

Yet you *can* declare a variable as Public in the CBF. Why the difference?
Well something declared Public in a class module is a *member* of the class
exposed to the outside. So if you have 

Public strFrmVariable As String

in a form named "MyForm", then the variable can be read and written to by
code outside the form by fully referencing it...

Forms![MyForm]![strFrmVariable] = "You can change this data"

So even if two forms declare a Public variable with the same name, there is
no ambiguity because the form names are different.

With standard modules it makes no difference if you use Global or Public in
declaring variables. You can declare a variable Public in one module and
Global in another or Public in both or Global in both. The effect is the
same. The code *will* compile as long as the variable is not actually used.
Make use of it anywhere and you will get that Ambiguous name compile error.

Lambert

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Max Wanadoo
Sent: Friday, October 02, 2009 3:48 PM
To: 'Access Developers discussion and problem solving'
Subject: Re: [AccessD] Invalid Password

Lambert,

Hi, it will take it if they are  both declared in modules and not CBF.
No error  given.  Eg:

Global xyz As String

Max


-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert
Sent: 02 October 2009 20:27
To: 'Access Developers discussion and problem solving'
Subject: Re: [AccessD] Invalid Password

??? " is it is, of course, possible to declare the same public variable in
more than one place" ???

Do that and you will get a compile error: "Ambiguous name detected:
YourVariableName" 

Lambert

-- 
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