DDH Software, LLC Making a big world smaller






Return to Knowledgebase Home
A synchronization between a HanDBase database and an Access table results in a complete set of duplicate records in either the HanDBase database or the Access table, or both.
Product: General HanDBase Sync Exchange for MS Access TopicsArticle Number: 281Creation Date: 01/13/2006

The very first time that you set up a synchronization in Sync Exchange with an Access table, two fields are created in the Access table that help keep track of new and existing records and the changes to the records since the last sync with a handheld device. Before those fields are created, Sync Exchange has no knowledge of the data in the Access table.

Note: For even more information on this, review the article "What is the purpose of the fields "rhdrinfo_" and "rhdrid_"?" at http://www.ddhsoftware.com/knowledgebase.html?UID=202505080354583.145.116.193&read=268

When you create a configuration in Sync Exchange to an Access table for the first time, if the Access table and the HanDBase database that you connect to that Access table both have records in them, then all the records in the HanDBase database and all the records in the Access table will be used to create a combined set of data. If, however, you have the same exact records in the HanDBase database and the Access table, already, Sync Exchange will have no way to know that, and so duplicate records can result from this.

The most common cause for this would be a situation where the HanDBase database was created by an import from the Access table (through HanDBase Data Exchange). An import through Data Exchange to create a HanDBase database from an existing Access table would result in a HanDBase database that has all of the records from that Access table. After that, setting up that same HanDBase database (which already has all the records from the Access table) to sync with that Access table would result in a combination of each record from that HanDBase database and each record from that Access table -- a duplication of each record.

For more information, see "What is the difference between Data Exchange and Sync Exchange?" at http://www.ddhsoftware.com/knowledgebase.html?UID=202505080354583.145.116.193&read=229

The better option is to have Sync Exchange create the HanDBase database for you when you create the configuration in Sync Exchange. This is described in the first scenario in the article "What are the basics of setting up a synchronization with Sync Exchange to MS Access?" at http://www.ddhsoftware.com/knowledgebase.html?UID=202505080354583.145.116.193&read=227

If you have already imported from Access with Data Exchange to create a new HanDBase database, and then set up Sync Exchange to between that HanDBase database and the same Access table, and have duplicate records in both the HanDBase database and the Access table, the easiest solution would be to use a query in Access to remove the duplicate records.

If the duplicate records are only in the HanDBase database (which would mean that Access is rejecting all of the records in the HanDBase database in order to prevent duplicates), Access will continue to reject the existing records in the HanDBase database. The easiest path from here would be the following:

  • Remove the original configuration in Sync Exchange
  • Delete the existing HanDBase database from the handheld
  • Synchronize the handheld with the HanDBase conduit. This will not affect the Access table, since the configuration in Sync Exchange has been removed.
  • Then, create a new configuration in Sync Exchange, as described in the article at http://www.ddhsoftware.com/knowledgebase.html?UID=202505080354583.145.116.193&read=227.
  • If you have already made changes to the HanDBase database (such as adding new fields), then you can also do the following:

  • Remove the configuration in Sync Exchange. This will prevent synchronization of changes to the data between the HanDBase database and the Access table.
  • Open the HanDBase database on the handheld or in HanDBase Desktop, and use the option to delete all the records in the HanDBase database.
  • Synchronize the handheld with the HanDBase conduit. This will not affect the Access table, since the configuration in Sync Exchange has been removed.
  • Open the Access table directly from MS Access.
  • Then (and this is the only time you would want to do this) delete the fields "rhdrinfo_" and "rhdrid_" in your Access table (these are the fields that were created by Sync Exchange).
  • Then, create a new configuration in Sync Exchange connecting that HanDBase database to that Access table.

  • This article has been viewed 1 times.

    Return to Knowledgebase Home