That is, if you have a bound field "idx", and no control called
"idx" and you are using "me.idx" to refer to the field, your
code will fail.
That makes sense. However, you need to change your development approach
here.
Note that if you just change the recordsouce of the form in code, that above
me.idx will also fail (especially of the new recordsouce does not have that
field).
You SHOULD NOT be using that syntax to reference data that is NOT bound to a
control. So, you likely have potential bugs and problems in your code if you
been using that approach. This will actually mean that your "reference" will
sporadically disappear (what happens if you set the reocrdsouce of a form to
""). The "me." syntax requites the ability to resolve at compile time. Since
you do NOT have a control on the form, then you can't be assumed that the
code *will* compile if you change the data source of the form. This opens up
your code to breakage (and, bet you often wondered why the me. reference
would break). Since I have a good deal of code that actually "sets" the
datasouce of a form, then I can't reliability use the "me." syntax, I have
to use me!.
So, for bound controls, I ALWAYS use me., but for data only references, you
need to use me! (bang) notation, since you can't be assumed of the control
on the screen. (this also means when you look at my code, the dot notation
means that the control MUST BE on the screen.).
So, I guess I never been bit by the VSS problem, but then again the
"natural" approach to coding kind of pans this lesson out anyway. You can
always tell an application that had this problem when you see in the corner
of the form a whole pile controls that are not used for display, but clearly
used ONLY for code that use the me. syntax. (that the developer found was
breaking!!). So, this is not really only a VSS problem, but general problem
that is solved by changing ones coding practices. If your reference does
NOT need to work with the control, then there is NO reason to use
the dot notation, and as mentioned, it can actually go out of scope anyway.
BANG notation works regardless if the contorl is on the screen or not.
You need to remove workgroup security to use source
control.
Hum,...at least with a2003, I can work just fine on a secired database.
Access doesn't support source control of the tables, relationships,
or data. After the queries, modules, forms and reports are
stripped out, everything else goes in as a single binary object.
Well...ok, what actaull happens is that when you check out a table...you
lock all of
them!!! (so, it is a all, or nothing affir).
However, any development platform has this problem. If you are
developing in VB, you can't check out the sql server tables anyway. So, a
fair point..but not a huge one, and one that no source code control really
solves anyway.
I would love to be able to check out the tables. In fact, what VSS does
right now is check out ALL tables for you!!! So, if I check out one table,
then all tables are locked. This "all or nothing" makes sense, since
changing
relationships, or other things could potentially effect all tables). And, we
are forgetting that 99% of the time, we have a split database anyway, so the
tables are not actually there, and are linked...
So, sure..there are some cavets...but not really any diffent then if you
used VB and JET, or c++ and JET anyway....