KS DB Merge Tools
by Konstantin Semenenkov
for Microsoft Access
aka AccdbMerge
for SQL Server
aka MssqlMerge
for MySQL
 
for SQLite
 

Batch Data Diff

Batch Data Diff allows to compare data for multiple tables and queries. This tool can be opened using 'Batch data diff (Ctrl+Shift+B)' toolbar button:

With click on any calculated count you can drill-down to data diff to check these records. For queries new and changed records count can not be calculated since they do not have primary keys and therefore it is not possible to detect whether the record was added or changed.

Before running calculation you can enable report generation - after completion it will show Excel report with one tab for diff summary and data diff export for each processed table.

Query Result Diff

With 'Query result diff (Ctrl+Shift+Q)' you can compare arbitrary query results:

This can be convenient if you want to specify some column or row filter. You can split this window to specify two queries and compare their result, in this case you can also run both queries against the same database.

Note that query results can not be merged.

Custom Data Diff

With 'Custom data diff (Ctrl+Shift+C)' you can compare any tables and queries with ability to specify custom field mapping. At least one field mapping item must be defined with mapping type 'Key':

This dialog also can be opened from the regular data diff window by 'Field mapping' link and from query result diff in 'customize field mapping' mode.

Export to Excel

Export to Excel generates Excel reports for object list, data diff, batch data diff, query result diff and table structure diff. Click the 'Export to Excel (Ctrl+Shift+E)' toolbar button to export data grid from the currently opened tab:

For the data grids that allow record/object selection (such as table diff view), only selected records will be exported, if any records were selected.

Table structure diff & merge

Clicking on the table name in the tables list opens a table structure diff window:

Here you can merge field definitions, field properties (such as input mask or validation rule), indexes and table relationships used by this table. Field definitions currently being merged without data, once you have merged some field definition, you can use table data diff to merge data for this field.

Field properties diff and merge requires loading additional data, which make file open process much slower. If you are not going to merge fields, then most likely you don't need to load field properties. This can be configured using application settings window.

Open password-protected files

You can open password-protected files using 'Open file(s) with password (Ctrl+Shift+O)' toolbar button or 'with password' link on the project tab:

You can save file open security options to an acdms file, which can be used later using regular Open File action or as a command line argument. It can be very convenient if you often work with the same protected files. You put your credentials only once, save acdms and use it without entering credentials anymore. Note that everything, including passwords, is saved as a plaint text and this file must not be shared with other persons. 'Use relative paths' option allows to save project file name in acdms file relative to acdms file location. For example, if you save your acdms file to the same folder with project, then you can move both project file and acdms file to some other folder without breaking acdms file. Next time you will open acdms in AccdbMerge Pro, it will search for project file in the same folder again.

Extended diff facilities

As you could notice on the Overview page - object list, data diff and text diff views provide the following additional diff functionality:

  • 'Next change (Alt+Down)' and 'Previous change (Alt+Up)' toolbar buttons to search for the next/previous block of changes in the data diff and text diff views.
  • total, new, changed and new+changed record/line counts,
  • display selected row in the separate vertical side-by-side comparison panel at the bottom of the window. For text diff it also provides by-character comparison,
  • paging in data diff allows you to work with large amounts of data,
  • sorting in data diff will help you to arrange and find required records.
  • No data diff and merge limitations

    AccdbMerge Free provides basic data diff and merge facilities with the following limitations:

  • both tables must have compatible primary keys,
  • no more than 50 fields,
  • no multivalue/attachment/binary fields.
  • Pro version does not have these limitations. Also, it allows to compare data between files with different security options.

    Queries data diff and merge

    You can compare query results the same way as for tables using 'Compare data' and buttons. Click on these buttons will bring up a 'Define query key fields' dialog with the list of common fields. Select number of fields that can uniquely identify query row to detect new and changed records. When you click OK, AccdbMerge Pro checks that chosen fields match this criteria, otherwise you will get a warning and will have to select other fields.

    Some queries that considered as updatable by Access also allow to merge data.

    Command line arguments

    You can open projects in AccdbMerge Pro using command line arguments. This makes it possible to use AccdbMerge Pro as a diff viewer for version control system clients such as TortoiseSVN. The format of command line arguments is

    accdbmerge.exe left_file_full_path right_file_full_path

    More object types

    You can compare and merge indexes and relationships from table structure diff window mentioned above. Also, relationships are presented as a separate group on the project tab, so you can observe all database relationships using object list window.

    VBA project references are presented as a separate group on the project tab and you can compare list of application references in the object list window.

    Other enhancements

  • Customization - you can setup lot of options in Settings window - what and how to compare by default.
  • Find tab - drill-down links to occurrence with focus on target row in the text diff view.
  • AccdbMerge Pro supports compiled '.mde and *.accde files. Of course, modules, forms and reports can't be compared by content for such files, but all other objects and data will be processed as usual.
  • In object list and Batch Data Diff you can use 'Filter (Alt+F)' command to filter object names by substring. This can be very convenient for large lists.
  • Copy to clipboard support for text diff, object lists and table diff views.