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.
