Jack and Pat
drawbridgej at sympatico.ca
Fri Feb 13 08:30:03 CST 2009
AD and Arthur, The extract of sample code has references to a Form. Also, the code as shown does not deal with indexes. Just a quick observation. jack -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of A.D.Tejpal Sent: Thursday, February 12, 2009 12:32 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Compare table structures Arthur, Interestingly, this very topic came up in MS_Access_Professionals group at Yahoo today. Extract of the routine suggested by Clive Williams is placed below. You might like to try it out. (It has not yet been tested at my end). Best wishes, A.D. Tejpal ------------ ' Extract of sample code (by Clive Williams) to compare ' two tables. It compares the FieldTypes then displays the ' Filenames and FieldTypes in the DebugWindow: '====================================== Private Sub cmdCompareTableStructures_Click() ' Compare the FieldTypes of the source table and the specified table Dim db As DAO.Database Dim tbli As DAO.TableDef Dim tblj As DAO.TableDef Dim i As Integer Dim booMismatch As Boolean On Error GoTo Err_cmdCompareTableStructures_Click If vbYes = MsgBox("Comparing Table Structures. Stop, Yes/No", vbYesNo + vbDefaultButton2) Then Stop Set db = CurrentDb Set tbli = db.TableDefs(Me.RecordSource) Set tblj = db.TableDefs(Me.cboTables.Column(0)) (from ComboBox) Debug.Print "Tables: "; tbli.Name & " " & tblj.Name If tbli.Fields.Count <> tblj.Fields.Count Then MsgBox tbli.Name & " has " & tbli.Fields.Count & _ " fields" & vbCrLf & vbCrLf & _ tblj.Name & " has " & tblj.Fields.Count & _ " fields." & vbCrLf & " Quitting..." Else For i = 0 To tbli.Fields.Count - 1 Debug.Print "Names", tbli.Fields(i).Name, _ tblj.Fields(i).Name, ; Debug.Print "Types", tbli.Fields(i).Type, _ tblj.Fields(i).Type If tbli.Fields(i).Type <> tblj.Fields(i).Type Then Debug.Print "", "", "", " Mismatch>", "***", "***" booMismatch = True End If Next i If booMismatch Then DoCmd.RunCommand acCmdDebugWindow Else MsgBox "Compared Successfully." End If End If Exit_cmdCompareTableStructures_Click: Set tblj = Nothing Set tbli = Nothing Set db = Nothing Exit Sub Err_cmdCompareTableStructures_Click: MsgBox Err.Description Resume Exit_cmdCompareTableStructures_Click End Sub '======================================== ----- Original Message ----- From: Arthur Fuller To: Access Developers discussion and problem solving Sent: Thursday, February 12, 2009 15:48 Subject: [AccessD] Compare table structures Is there a free tool that will compare two table structures and report the differences? I'd do it manually but in this case there are over 100 fields and it would be very tedious to do it by hand. TIA, Arthur -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com