From: Marshall Barton on
Tony Toews wrote:

>On 5 Aug 2010 18:52:15 GMT, "David W. Fenton"
><NoEmail(a)SeeSignature.invalid> wrote:
>
>>Your quote from MichKa explains it quite clearly: there's metadata
>>stored in the linked table definition that has been obsoleted by
>>your change to the back end table. A compact obviously updates the
>>metadata implicated in this particular problem, and it seems to me
>>should be a rather obvious thing to do when you've changed the
>>structure of your tables.
>
>But you and I know that there is metadata being stored in the FE. If
>you don't then it's not intuitive that you would need to compact the
>FE if you change the BE. More mportantly this error occurs when you
>insert a field into the middle of a table in the BE. Not when you
>add a field at the end of a table.

And your experience with this issue saved my sanity. I
always make table design changes using code (DDL and/or DAO)
so I have a canned script to run on copies of test back ends
and when installing a new version for a client. Since I
compact the FE frequently during development, I never
noticed the issue until on site installation. My quick
regression test after installing worked great, except for
one form that generated that mysterious error. While
scratching my head, I did a few housekeeping actions,
including Compact. Then when I went to dig into the form
with the error, there was no problem to solve. I went home
and immediately posted the weird happenings and you
responded with an explanation that the Compact I had
performed was the solution. It was a great relief to
realize that my only problem was testing before compacting.
For sure, I won't do that again.

Thanks again Tony

--
Marsh
From: David W. Fenton on
Tony Toews <ttoews(a)telusplanet.net> wrote in
news:8pro56p6dp6se7r1m4vdqv3vhrtq3kt8j7(a)4ax.com:

> On 5 Aug 2010 18:52:15 GMT, "David W. Fenton"
><NoEmail(a)SeeSignature.invalid> wrote:
>
>>Your quote from MichKa explains it quite clearly: there's metadata
>>stored in the linked table definition that has been obsoleted by
>>your change to the back end table. A compact obviously updates the
>>metadata implicated in this particular problem, and it seems to me
>>should be a rather obvious thing to do when you've changed the
>>structure of your tables.
>
> But you and I know that there is metadata being stored in the FE.
> If you don't then it's not intuitive that you would need to
> compact the FE if you change the BE. More mportantly this error
> occurs when you insert a field into the middle of a table in the
> BE. Not when you add a field at the end of a table.
>
> Also this error would crop up days, weeks or months later when the
> BE is compacted. So the cause and effect is not at all obvious.

I still just can't quite see how this kind of thing could cause a
problem in production use. If you add a field to a table, surely
you're pushing out a new front end simultaneously that *uses* that
new field? If so, not problem, so I just can't quite see how it
would be an issue for anybody but the developer, and I'd think any
developer who's been at it for a couple of months would already have
developed the instincts to do a compact/repair after any crash of
the front end.

--
David W. Fenton http://www.dfenton.com/
contact via website only http://www.dfenton.com/DFA/