Hi all,

I've just found an interesting quirk when editing Access tables from Access vs. 
MapInfo.  The issue was originally pointed out to me by a client in another similar 
application, 
and we got around the problem by editing from Mapinfo.  But i have just experienced a 
quirk that may shed light on its cause, and hopefully may lead to a possible solution.

Background:
I have an application that has the configuration stored in Access tables.  Things like 
table paths, layers, thematic colours etc. are all stored in various tables in an 
Access 
database, and are used so that users can reconfigure the application for local 
conditions.  I normally do changes to configuration in Access because of the ease of 
editing/ 
forms etc.  Referential integrity is set up on the tables so that changing the value 
in a key field in one table changes the value of that foreign key in other tables to 
maintain 
the relationships.  None of the key fields are indexed in Mapinfo (the tables are 
small, and indexes tend to make the access/ Mapinfo link unstable).

The problem.
I have a join query in MapInfo that links two tables in a one-to-many erlationship 
using a common charcter key field.  I changed a value of this key field in one table 
from 
Access, and the change was reflected in other tables as designed. I then opened the 
tables up in Mapinfo, re-run the join query and the query missed the records that 
contained the altered key.  This is dispite the correct values of that key seeming to 
appear in all tables.

I then added another another record on the many side of the relationship in MapInfo, 
saved the table and the first altered key started to appear in the query.

The text appears correctly in the tables because if I copy and paste the text from 
those records that are not selected to create the new record, and then save the table, 
the 
query joins the two tables correctly including the unchanged records that did not 
appear before.

Then if I edit the key field in Access, BUT have the tables open in mapInfo, a 
progress bar flashes in MapInfo too quickly for me to see what's going on, and the 
query works 
to include the changes just made.  

The Question
Obviously in the last case MapInfo detected a change in the table, and rebuilt 
something for it to detect all the changes made previously in Access.  The problem is 
that I 
would like that to be triggered each time the tables are opened so that changes made 
in Access are recognised correctly in MapInfo.  Note that the problem does not 
present itself unless that field is being used to join the two tables in a query.  The 
text seems to appear correctly in all records in all fields.

Does it have something to do with the spaces that MapInfo seems to fill character 
fields of Access tables sometimes?

I am using Mapbasic 6.0 and mapinfo 6.5 Build 31.  Is there another keyword available 
in version 6.5 mapbasic to force the connection to update? 

Thanks,
R

PS Can we somehow blame Microsoft for this?


Robert Crossley 
Robert Crossley & Associates
9 Short St
New Brighton NSW 2483

P: 02 6680 1309
F: New Connection
M: 0419 718 642
E: [EMAIL PROTECTED]




_______________________________________________________________________
List hosting provided by Directions Magazine | www.directionsmag.com |
To unsubscribe, send e-mail to [EMAIL PROTECTED] and
put "unsubscribe MapInfo-L" in the message body.

Reply via email to