473,382 Members | 1,396 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,382 software developers and data experts.

Different BE database uniformity.

I have 1 FE database which can be linked to a number of BE databases. The
BEs are all different Clubs e.g. Sailing Club, Yacht Club, Bridge Club,
Family etc.

Problem is if I change anything in the table structure or relationship of
one of these clubs, I want to make sure I do it with the other clubs as
well.
Has anyone got routine that will check that each BE database has
1) All the tables (even though some will be empty e.g. Bridge club has
nothing to do with boats)
2) The fields are all the same size, default values are the same, Indexes
are the same etc
3) Relationships are identical

I am struggling to do it manually at the moment and I know it is very error
prone

Thanks for any advise

Phil
Jul 25 '08 #1
14 1466
Any reason you can't combine the back-ends databases? Some table restructure
adding keys to identify the club would allow you to switch without
re-linking to a new back-end.

Otherwise, write some VBA code to make the changes, then run it on each
back-end.

"Phil Stanton" <ph**@myfamilyname.co.ukwrote in message
news:uY******************************@posted.plusn et...
I have 1 FE database which can be linked to a number of BE databases. The
BEs are all different Clubs e.g. Sailing Club, Yacht Club, Bridge Club,
Family etc.

Problem is if I change anything in the table structure or relationship of
one of these clubs, I want to make sure I do it with the other clubs as
well.
Has anyone got routine that will check that each BE database has
1) All the tables (even though some will be empty e.g. Bridge club has
nothing to do with boats)
2) The fields are all the same size, default values are the same,
Indexes
are the same etc
3) Relationships are identical

I am struggling to do it manually at the moment and I know it is very
error
prone

Thanks for any advise

Phil


Jul 25 '08 #2
Phil Stanton wrote:
I have 1 FE database which can be linked to a number of BE databases. The
BEs are all different Clubs e.g. Sailing Club, Yacht Club, Bridge Club,
Family etc.

Problem is if I change anything in the table structure or relationship of
one of these clubs, I want to make sure I do it with the other clubs as
well.
Has anyone got routine that will check that each BE database has
1) All the tables (even though some will be empty e.g. Bridge club has
nothing to do with boats)
2) The fields are all the same size, default values are the same, Indexes
are the same etc
3) Relationships are identical

I am struggling to do it manually at the moment and I know it is very error
prone

Thanks for any advise

Phil

Hi Phil. Here's a routine I made up. I created two tables;
TableCurrent and TableExternal. Three fields; TableName, FieldName,
FieldType. You could add FieldSize as well and add that in the Insert
statement and insert the Size property as well. Change the External mdb
name. Then run. After that you can create some queries to check for
differences between these two tables.

Sub CheckFieldDifferences()

Dim dbs As Database
Dim dbsExternal As Database
Dim wsp As Workspace
Dim tdf As TableDef
Dim fldCurrent As Field
Dim fldExternal As Field
Dim strSQL As String

Dim strExternal As String
strExternal = "C:\Test\Db1.MDB" 'CHANGE TO THE EXTERNAL FILE NAME

' Return reference to current database.
Set dbs = CurrentDb
' Return reference to default workspace.
Set wsp = DBEngine.Workspaces(0)
' Return reference to External.mdb.
Set dbsExternal = wsp.OpenDatabase(strExternal)

' Enumerate all TableDef objects in each database.
'Debug.print dbs.Name & ":"
For Each tdf In dbs.TableDefs
'Debug.print tdf.Name
If Left(tdf.Name, 3) <"tmp" Then
For Each fldCurrent In tdf.Fields
'Debug.print fldCurrent.Name, fldCurrent.Type
strSQL = "Insert Into TableCurrent (TableName,
FieldName, FieldType) Values " & _
"('" & tdf.Name & "', '" & fldCurrent.Name & "', "
& fldCurrent.Type & ")"
dbs.Execute strSQL
Next
End If
'Exit For
Next tdf
'Debug.print

'Debug.print dbsExternal.Name & ":"
For Each tdf In dbsExternal.TableDefs
'Debug.print tdf.Name
If Left(tdf.Name, 3) <"tmp" Then
For Each fldExternal In tdf.Fields
'Debug.print fldExternal.Name, fldExternal.Type
strSQL = "Insert Into TableExternal (TableName,
FieldName, FieldType) Values " & _
"('" & tdf.Name & "', '" & fldExternal.Name & "', "
& fldExternal.Type & ")"
dbs.Execute strSQL
Next
End If
Next tdf
Set dbs = Nothing

dbsExternal.Close
Set dbsExternal = Nothing
MsgBox "Done"

End Sub

Voqa Mosimosi
http://www.youtube.com/watch?v=EQJr1LUmfLM
Jul 25 '08 #3
Thanks Salad That looks great. Will try it tonight.
Probably refine it to have all the info for all the DBs in TblCurrent with a
pointer to which DB they come from. Should be very easy to compare

Any thoughts on the relationship part of my question?

Thanks again

Phil
"Salad" <oi*@vinegar.comwrote in message
news:nI******************************@earthlink.co m...
Phil Stanton wrote:
>I have 1 FE database which can be linked to a number of BE databases. The
BEs are all different Clubs e.g. Sailing Club, Yacht Club, Bridge Club,
Family etc.

Problem is if I change anything in the table structure or relationship of
one of these clubs, I want to make sure I do it with the other clubs as
well.
Has anyone got routine that will check that each BE database has
1) All the tables (even though some will be empty e.g. Bridge club
has nothing to do with boats)
2) The fields are all the same size, default values are the same,
Indexes are the same etc
3) Relationships are identical

I am struggling to do it manually at the moment and I know it is very
error prone

Thanks for any advise

Phil
Hi Phil. Here's a routine I made up. I created two tables; TableCurrent
and TableExternal. Three fields; TableName, FieldName, FieldType. You
could add FieldSize as well and add that in the Insert statement and
insert the Size property as well. Change the External mdb name. Then
run. After that you can create some queries to check for differences
between these two tables.

Sub CheckFieldDifferences()

Dim dbs As Database
Dim dbsExternal As Database
Dim wsp As Workspace
Dim tdf As TableDef
Dim fldCurrent As Field
Dim fldExternal As Field
Dim strSQL As String

Dim strExternal As String
strExternal = "C:\Test\Db1.MDB" 'CHANGE TO THE EXTERNAL FILE NAME

' Return reference to current database.
Set dbs = CurrentDb
' Return reference to default workspace.
Set wsp = DBEngine.Workspaces(0)
' Return reference to External.mdb.
Set dbsExternal = wsp.OpenDatabase(strExternal)

' Enumerate all TableDef objects in each database.
'Debug.print dbs.Name & ":"
For Each tdf In dbs.TableDefs
'Debug.print tdf.Name
If Left(tdf.Name, 3) <"tmp" Then
For Each fldCurrent In tdf.Fields
'Debug.print fldCurrent.Name, fldCurrent.Type
strSQL = "Insert Into TableCurrent (TableName, FieldName,
FieldType) Values " & _
"('" & tdf.Name & "', '" & fldCurrent.Name & "', " &
fldCurrent.Type & ")"
dbs.Execute strSQL
Next
End If
'Exit For
Next tdf
'Debug.print

'Debug.print dbsExternal.Name & ":"
For Each tdf In dbsExternal.TableDefs
'Debug.print tdf.Name
If Left(tdf.Name, 3) <"tmp" Then
For Each fldExternal In tdf.Fields
'Debug.print fldExternal.Name, fldExternal.Type
strSQL = "Insert Into TableExternal (TableName, FieldName,
FieldType) Values " & _
"('" & tdf.Name & "', '" & fldExternal.Name & "', " &
fldExternal.Type & ")"
dbs.Execute strSQL
Next
End If
Next tdf
Set dbs = Nothing

dbsExternal.Close
Set dbsExternal = Nothing
MsgBox "Done"

End Sub

Voqa Mosimosi
http://www.youtube.com/watch?v=EQJr1LUmfLM

Jul 25 '08 #4
Phil Stanton wrote:
Thanks Salad That looks great. Will try it tonight.
Probably refine it to have all the info for all the DBs in TblCurrent with a
pointer to which DB they come from. Should be very easy to compare
Yeah, if you did a Totals query, exluding the table, if you had 5 MDBs
then you should have a count of 5 for everything. Anything not 5 would
be an exception.
Any thoughts on the relationship part of my question?
I missed that one. Here's some code from OnLine help.

Set dbsNorthwind = OpenDatabase("Northwind.mdb")
Set rstProducts = dbsNorthwind.OpenRecordset("Products")
' Print a report showing all the different parts of
' the relation and where each part is stored.
With dbsNorthwind.Relations!CategoriesProducts
Debug.Print "Properties of " & .Name & " Relation"
Debug.Print " Table = " & .Table
Debug.Print " ForeignTable = " & .ForeignTable
Debug.Print "Fields of " & .Name & " Relation"
With .Fields!CategoryID
Debug.Print " " & .Name
Debug.Print " Name = " & .Name
Debug.Print " ForeignName = " & .ForeignName
End With
End With
I think by modifying the code above you could add it to my routine and
insert the data into, most likely, a new table.
>
Thanks again

Phil
"Salad" <oi*@vinegar.comwrote in message
news:nI******************************@earthlink.co m...
>>Phil Stanton wrote:
>>>I have 1 FE database which can be linked to a number of BE databases. The
BEs are all different Clubs e.g. Sailing Club, Yacht Club, Bridge Club,
Family etc.

Problem is if I change anything in the table structure or relationship of
one of these clubs, I want to make sure I do it with the other clubs as
well.
Has anyone got routine that will check that each BE database has
1) All the tables (even though some will be empty e.g. Bridge club
has nothing to do with boats)
2) The fields are all the same size, default values are the same,
Indexes are the same etc
3) Relationships are identical

I am struggling to do it manually at the moment and I know it is very
error prone

Thanks for any advise

Phil

Hi Phil. Here's a routine I made up. I created two tables; TableCurrent
and TableExternal. Three fields; TableName, FieldName, FieldType. You
could add FieldSize as well and add that in the Insert statement and
insert the Size property as well. Change the External mdb name. Then
run. After that you can create some queries to check for differences
between these two tables.

Sub CheckFieldDifferences()

Dim dbs As Database
Dim dbsExternal As Database
Dim wsp As Workspace
Dim tdf As TableDef
Dim fldCurrent As Field
Dim fldExternal As Field
Dim strSQL As String

Dim strExternal As String
strExternal = "C:\Test\Db1.MDB" 'CHANGE TO THE EXTERNAL FILE NAME

' Return reference to current database.
Set dbs = CurrentDb
' Return reference to default workspace.
Set wsp = DBEngine.Workspaces(0)
' Return reference to External.mdb.
Set dbsExternal = wsp.OpenDatabase(strExternal)

' Enumerate all TableDef objects in each database.
'Debug.print dbs.Name & ":"
For Each tdf In dbs.TableDefs
'Debug.print tdf.Name
If Left(tdf.Name, 3) <"tmp" Then
For Each fldCurrent In tdf.Fields
'Debug.print fldCurrent.Name, fldCurrent.Type
strSQL = "Insert Into TableCurrent (TableName, FieldName,
FieldType) Values " & _
"('" & tdf.Name & "', '" & fldCurrent.Name & "', " &
fldCurrent.Type & ")"
dbs.Execute strSQL
Next
End If
'Exit For
Next tdf
'Debug.print

'Debug.print dbsExternal.Name & ":"
For Each tdf In dbsExternal.TableDefs
'Debug.print tdf.Name
If Left(tdf.Name, 3) <"tmp" Then
For Each fldExternal In tdf.Fields
'Debug.print fldExternal.Name, fldExternal.Type
strSQL = "Insert Into TableExternal (TableName, FieldName,
FieldType) Values " & _
"('" & tdf.Name & "', '" & fldExternal.Name & "', " &
fldExternal.Type & ")"
dbs.Execute strSQL
Next
End If
Next tdf
Set dbs = Nothing

dbsExternal.Close
Set dbsExternal = Nothing
MsgBox "Done"

End Sub

Voqa Mosimosi
http://www.youtube.com/watch?v=EQJr1LUmfLM


Jul 25 '08 #5
Do you think Windows can find your db file noticeably faster than
Access/JET can find your records?

One db will ensure that changes are made and applied consistently across
the five clubs.
One db will ensure that more clubs can be added easily.
One db will allow for the efficient entry and storage of common data.
(Could any person be a member of more than one club?)
Of course, we could write kludges to try to maintain some sort of
uniformity across the dbs.
But should we?
When I write kludges the things I forget to program haunt me at the most
inopportune times.

"Phil Stanton" <ph**@myfamilyname.co.ukwrote in
news:uY******************************@posted.plusn et:
I have 1 FE database which can be linked to a number of BE databases.
The BEs are all different Clubs e.g. Sailing Club, Yacht Club, Bridge
Club, Family etc.

Problem is if I change anything in the table structure or relationship
of one of these clubs, I want to make sure I do it with the other
clubs as well.
Has anyone got routine that will check that each BE database has
1) All the tables (even though some will be empty e.g. Bridge club
has nothing to do with boats)
2) The fields are all the same size, default values are the same,
Indexes are the same etc
3) Relationships are identical

I am struggling to do it manually at the moment and I know it is very
error prone

Thanks for any advise

Phil
Jul 25 '08 #6
Hi Lyle

What you say seems logical. Certainly 1 member can be a member of many clubs
( I am).
I would presumably have to add a foreign key in every table to relate to the
correct DB.

The problem with that approach is that unless security is tight, A member of
1 Club can get info on members of all the other Clubs (via the tables if
nothing else) and with the data Protection Act here in the UK it could be
awkward.

Thanks,
Phil

"lyle fairfield" <ly******@yah00.cawrote in message
news:Xn************************@216.221.81.119...
Do you think Windows can find your db file noticeably faster than
Access/JET can find your records?

One db will ensure that changes are made and applied consistently across
the five clubs.
One db will ensure that more clubs can be added easily.
One db will allow for the efficient entry and storage of common data.
(Could any person be a member of more than one club?)
Of course, we could write kludges to try to maintain some sort of
uniformity across the dbs.
But should we?
When I write kludges the things I forget to program haunt me at the most
inopportune times.

"Phil Stanton" <ph**@myfamilyname.co.ukwrote in
news:uY******************************@posted.plusn et:
>I have 1 FE database which can be linked to a number of BE databases.
The BEs are all different Clubs e.g. Sailing Club, Yacht Club, Bridge
Club, Family etc.

Problem is if I change anything in the table structure or relationship
of one of these clubs, I want to make sure I do it with the other
clubs as well.
Has anyone got routine that will check that each BE database has
1) All the tables (even though some will be empty e.g. Bridge club
has nothing to do with boats)
2) The fields are all the same size, default values are the same,
Indexes are the same etc
3) Relationships are identical

I am struggling to do it manually at the moment and I know it is very
error prone

Thanks for any advise

Phil

Jul 25 '08 #7
Hi Salad

Thanks a bunch. All works a treat. Now just a metter of going through and
putting things right

BTW some of the relationships look like this
{72CB01A8-BF0B-4CD3-9D4D-150D5A1146B1}
and others like
YearPayments ( I have a table called Year and a table called Payments)
and other like
TownNewAddress ( I have a table called Town and a table called Addres, but
no NewAddress)
must be some logic in it

Thanks again

Phil

"Salad" <oi*@vinegar.comwrote in message
news:i-******************************@earthlink.com...
Phil Stanton wrote:
>Thanks Salad That looks great. Will try it tonight.
Probably refine it to have all the info for all the DBs in TblCurrent
with a pointer to which DB they come from. Should be very easy to compare
Yeah, if you did a Totals query, exluding the table, if you had 5 MDBs
then you should have a count of 5 for everything. Anything not 5 would be
an exception.
>Any thoughts on the relationship part of my question?

I missed that one. Here's some code from OnLine help.

Set dbsNorthwind = OpenDatabase("Northwind.mdb")
Set rstProducts = dbsNorthwind.OpenRecordset("Products")
' Print a report showing all the different parts of
' the relation and where each part is stored.
With dbsNorthwind.Relations!CategoriesProducts
Debug.Print "Properties of " & .Name & " Relation"
Debug.Print " Table = " & .Table
Debug.Print " ForeignTable = " & .ForeignTable
Debug.Print "Fields of " & .Name & " Relation"
With .Fields!CategoryID
Debug.Print " " & .Name
Debug.Print " Name = " & .Name
Debug.Print " ForeignName = " & .ForeignName
End With
End With
I think by modifying the code above you could add it to my routine and
insert the data into, most likely, a new table.
>>
Thanks again

Phil
"Salad" <oi*@vinegar.comwrote in message
news:nI******************************@earthlink.c om...
>>>Phil Stanton wrote:

I have 1 FE database which can be linked to a number of BE databases.
The BEs are all different Clubs e.g. Sailing Club, Yacht Club, Bridge
Club, Family etc.

Problem is if I change anything in the table structure or relationship
of one of these clubs, I want to make sure I do it with the other clubs
as well.
Has anyone got routine that will check that each BE database has
1) All the tables (even though some will be empty e.g. Bridge club
has nothing to do with boats)
2) The fields are all the same size, default values are the same,
Indexes are the same etc
3) Relationships are identical

I am struggling to do it manually at the moment and I know it is very
error prone

Thanks for any advise

Phil

Hi Phil. Here's a routine I made up. I created two tables; TableCurrent
and TableExternal. Three fields; TableName, FieldName, FieldType. You
could add FieldSize as well and add that in the Insert statement and
insert the Size property as well. Change the External mdb name. Then
run. After that you can create some queries to check for differences
between these two tables.

Sub CheckFieldDifferences()

Dim dbs As Database
Dim dbsExternal As Database
Dim wsp As Workspace
Dim tdf As TableDef
Dim fldCurrent As Field
Dim fldExternal As Field
Dim strSQL As String

Dim strExternal As String
strExternal = "C:\Test\Db1.MDB" 'CHANGE TO THE EXTERNAL FILE NAME

' Return reference to current database.
Set dbs = CurrentDb
' Return reference to default workspace.
Set wsp = DBEngine.Workspaces(0)
' Return reference to External.mdb.
Set dbsExternal = wsp.OpenDatabase(strExternal)

' Enumerate all TableDef objects in each database.
'Debug.print dbs.Name & ":"
For Each tdf In dbs.TableDefs
'Debug.print tdf.Name
If Left(tdf.Name, 3) <"tmp" Then
For Each fldCurrent In tdf.Fields
'Debug.print fldCurrent.Name, fldCurrent.Type
strSQL = "Insert Into TableCurrent (TableName, FieldName,
FieldType) Values " & _
"('" & tdf.Name & "', '" & fldCurrent.Name & "', " &
fldCurrent.Type & ")"
dbs.Execute strSQL
Next
End If
'Exit For
Next tdf
'Debug.print

'Debug.print dbsExternal.Name & ":"
For Each tdf In dbsExternal.TableDefs
'Debug.print tdf.Name
If Left(tdf.Name, 3) <"tmp" Then
For Each fldExternal In tdf.Fields
'Debug.print fldExternal.Name, fldExternal.Type
strSQL = "Insert Into TableExternal (TableName,
FieldName, FieldType) Values " & _
"('" & tdf.Name & "', '" & fldExternal.Name & "', " &
fldExternal.Type & ")"
dbs.Execute strSQL
Next
End If
Next tdf
Set dbs = Nothing

dbsExternal.Close
Set dbsExternal = Nothing
MsgBox "Done"

End Sub

Voqa Mosimosi
http://www.youtube.com/watch?v=EQJr1LUmfLM

Jul 26 '08 #8
On Jul 25, 1:10 pm, "Phil Stanton" <p...@myfamilyname.co.ukwrote:
Hi Lyle

What you say seems logical. Certainly 1 member can be a member of many clubs
( I am).
I would presumably have to add a foreign key in every table to relate to the
correct DB.

The problem with that approach is that unless security is tight, A member of
1 Club can get info on members of all the other Clubs (via the tables if
nothing else) and with the data Protection Act here in the UK it could be
awkward.

Thanks,
Phil

"lyle fairfield" <lylef...@yah00.cawrote in message

news:Xn************************@216.221.81.119...
Do you think Windows can find your db file noticeably faster than
Access/JET can find your records?
One db will ensure that changes are made and applied consistently across
the five clubs.
One db will ensure that more clubs can be added easily.
One db will allow for the efficient entry and storage of common data.
(Could any person be a member of more than one club?)
Of course, we could write kludges to try to maintain some sort of
uniformity across the dbs.
But should we?
When I write kludges the things I forget to program haunt me at the most
inopportune times.
"Phil Stanton" <p...@myfamilyname.co.ukwrote in
news:uY******************************@posted.plusn et:
I have 1 FE database which can be linked to a number of BE databases.
The BEs are all different Clubs e.g. Sailing Club, Yacht Club, Bridge
Club, Family etc.
Problem is if I change anything in the table structure or relationship
of one of these clubs, I want to make sure I do it with the other
clubs as well.
Has anyone got routine that will check that each BE database has
1) All the tables (even though some will be empty e.g. Bridge club
has nothing to do with boats)
2) The fields are all the same size, default values are the same,
Indexes are the same etc
3) Relationships are identical
I am struggling to do it manually at the moment and I know it is very
error prone
Thanks for any advise
Phil
I think I understand now that you do not use these five dbs on one
computer, but, rather, distribute one or the other to a club
administrator.
Jul 26 '08 #9
Phil Stanton wrote:
Hi Salad

Thanks a bunch. All works a treat. Now just a metter of going through and
putting things right

BTW some of the relationships look like this
{72CB01A8-BF0B-4CD3-9D4D-150D5A1146B1}
and others like
YearPayments ( I have a table called Year and a table called Payments)
and other like
TownNewAddress ( I have a table called Town and a table called Addres, but
no NewAddress)
must be some logic in it

Thanks again
Glad it all worked out! As to the odd names...sounds like they're
Access generated.
>
Phil

"Salad" <oi*@vinegar.comwrote in message
news:i-******************************@earthlink.com...
>>Phil Stanton wrote:

>>>Thanks Salad That looks great. Will try it tonight.
Probably refine it to have all the info for all the DBs in TblCurrent
with a pointer to which DB they come from. Should be very easy to compare

Yeah, if you did a Totals query, exluding the table, if you had 5 MDBs
then you should have a count of 5 for everything. Anything not 5 would be
an exception.

>>>Any thoughts on the relationship part of my question?

I missed that one. Here's some code from OnLine help.

Set dbsNorthwind = OpenDatabase("Northwind.mdb")
Set rstProducts = dbsNorthwind.OpenRecordset("Products")
' Print a report showing all the different parts of
' the relation and where each part is stored.
With dbsNorthwind.Relations!CategoriesProducts
Debug.Print "Properties of " & .Name & " Relation"
Debug.Print " Table = " & .Table
Debug.Print " ForeignTable = " & .ForeignTable
Debug.Print "Fields of " & .Name & " Relation"
With .Fields!CategoryID
Debug.Print " " & .Name
Debug.Print " Name = " & .Name
Debug.Print " ForeignName = " & .ForeignName
End With
End With
I think by modifying the code above you could add it to my routine and
insert the data into, most likely, a new table.

>>>Thanks again

Phil
"Salad" <oi*@vinegar.comwrote in message
news:nI******************************@earthlink .com...
Phil Stanton wrote:
>I have 1 FE database which can be linked to a number of BE databases.
>The BEs are all different Clubs e.g. Sailing Club, Yacht Club, Bridge
>Club, Family etc.
>
>Problem is if I change anything in the table structure or relationship
>of one of these clubs, I want to make sure I do it with the other clubs
>as well.
>Has anyone got routine that will check that each BE database has
>1) All the tables (even though some will be empty e.g. Bridge club
>has nothing to do with boats)
>2) The fields are all the same size, default values are the same,
>Indexes are the same etc
>3) Relationships are identical
>
>I am struggling to do it manually at the moment and I know it is very
>error prone
>
>Thanks for any advise
>
>Phil

Hi Phil. Here's a routine I made up. I created two tables; TableCurrent
and TableExternal. Three fields; TableName, FieldName, FieldType. You
could add FieldSize as well and add that in the Insert statement and
insert the Size property as well. Change the External mdb name. Then
run. After that you can create some queries to check for differences
between these two tables.

Sub CheckFieldDifferences()

Dim dbs As Database
Dim dbsExternal As Database
Dim wsp As Workspace
Dim tdf As TableDef
Dim fldCurrent As Field
Dim fldExternal As Field
Dim strSQL As String

Dim strExternal As String
strExternal = "C:\Test\Db1.MDB" 'CHANGE TO THE EXTERNAL FILE NAME

' Return reference to current database.
Set dbs = CurrentDb
' Return reference to default workspace.
Set wsp = DBEngine.Workspaces(0)
' Return reference to External.mdb.
Set dbsExternal = wsp.OpenDatabase(strExternal)

' Enumerate all TableDef objects in each database.
'Debug.print dbs.Name & ":"
For Each tdf In dbs.TableDefs
'Debug.print tdf.Name
If Left(tdf.Name, 3) <"tmp" Then
For Each fldCurrent In tdf.Fields
'Debug.print fldCurrent.Name, fldCurrent.Type
strSQL = "Insert Into TableCurrent (TableName, FieldName,
FieldType) Values " & _
"('" & tdf.Name & "', '" & fldCurrent.Name & "', " &
fldCurrent.Type & ")"
dbs.Execute strSQL
Next
End If
'Exit For
Next tdf
'Debug.print

'Debug.print dbsExternal.Name & ":"
For Each tdf In dbsExternal.TableDefs
'Debug.print tdf.Name
If Left(tdf.Name, 3) <"tmp" Then
For Each fldExternal In tdf.Fields
'Debug.print fldExternal.Name, fldExternal.Type
strSQL = "Insert Into TableExternal (TableName,
FieldName, FieldType) Values " & _
"('" & tdf.Name & "', '" & fldExternal.Name & "', " &
fldExternal.Type & ")"
dbs.Execute strSQL
Next
End If
Next tdf
Set dbs = Nothing

dbsExternal.Close
Set dbsExternal = Nothing
MsgBox "Done"

End Sub

Voqa Mosimosi
http://www.youtube.com/watch?v=EQJr1LUmfLM

Jul 26 '08 #10
Hi Lyle

Sorry, I should hav made that clear. Basically it a Generic Club Db with a
number of Clubs who all have the same front end, and of course their own
individual back end.

The menu structure does not show forms or reports not relevant to that Club,
so the Bridge club does not see any of the forms or reports to do with
boats.

Equally I have a table which is "read" on the opening of each form which
hides irrelevant fields or changes the caption of a field so for example on
the YachtClub Db the caption for a particular date field is Joining Date,
while on my family & Friends Db the caption appears as Wedding Date.

Thanks again

Phil

fairfield" <ly************@gmail.comwrote in message
news:dc**********************************@x41g2000 hsb.googlegroups.com...
On Jul 25, 1:10 pm, "Phil Stanton" <p...@myfamilyname.co.ukwrote:
>Hi Lyle

What you say seems logical. Certainly 1 member can be a member of many
clubs
( I am).
I would presumably have to add a foreign key in every table to relate to
the
correct DB.

The problem with that approach is that unless security is tight, A member
of
1 Club can get info on members of all the other Clubs (via the tables if
nothing else) and with the data Protection Act here in the UK it could be
awkward.

Thanks,
Phil

"lyle fairfield" <lylef...@yah00.cawrote in message

news:Xn************************@216.221.81.119. ..
Do you think Windows can find your db file noticeably faster than
Access/JET can find your records?
One db will ensure that changes are made and applied consistently
across
the five clubs.
One db will ensure that more clubs can be added easily.
One db will allow for the efficient entry and storage of common data.
(Could any person be a member of more than one club?)
Of course, we could write kludges to try to maintain some sort of
uniformity across the dbs.
But should we?
When I write kludges the things I forget to program haunt me at the
most
inopportune times.
"Phil Stanton" <p...@myfamilyname.co.ukwrote in
news:uY******************************@posted.plus net:
>I have 1 FE database which can be linked to a number of BE databases.
The BEs are all different Clubs e.g. Sailing Club, Yacht Club, Bridge
Club, Family etc.
>Problem is if I change anything in the table structure or relationship
of one of these clubs, I want to make sure I do it with the other
clubs as well.
Has anyone got routine that will check that each BE database has
1) All the tables (even though some will be empty e.g. Bridge club
has nothing to do with boats)
2) The fields are all the same size, default values are the same,
Indexes are the same etc
3) Relationships are identical
>I am struggling to do it manually at the moment and I know it is very
error prone
>Thanks for any advise
>Phil

I think I understand now that you do not use these five dbs on one
computer, but, rather, distribute one or the other to a club
administrator.

Jul 26 '08 #11
"Phil Stanton" <ph**@myfamilyname.co.ukwrote in message
news:9d*********************@posted.plusnet...
Hi Lyle

Sorry, I should hav made that clear. Basically it a Generic Club Db with a
number of Clubs who all have the same front end, and of course their own
individual back end.
Why not have an empty BE as your design master and distibute that whenever
you make a change? You could either import the data manually or have a bit
of code do it. Seems a bit simpler than having code modify many back ends.

Regards,
Keith.
www.keithwilby.com

Jul 28 '08 #12
That seems a very sensible idea Keith. Why didn't I think of it?

Thanks

Phil
"Keith Wilby" <he**@there.comwrote in message
news:48**********@glkas0286.greenlnk.net...
"Phil Stanton" <ph**@myfamilyname.co.ukwrote in message
news:9d*********************@posted.plusnet...
>Hi Lyle

Sorry, I should hav made that clear. Basically it a Generic Club Db with
a number of Clubs who all have the same front end, and of course their
own individual back end.

Why not have an empty BE as your design master and distibute that whenever
you make a change? You could either import the data manually or have a
bit of code do it. Seems a bit simpler than having code modify many back
ends.

Regards,
Keith.
www.keithwilby.com

Jul 28 '08 #13
"Phil Stanton" <ph**@myfamilyname.co.ukwrote in message
news:n_******************************@posted.plusn et...
That seems a very sensible idea Keith. Why didn't I think of it?

Thanks
No problem Phil, to be honest I thought I might have been missing something!

Regards,
Keith.

Jul 29 '08 #14
"Phil Stanton" <ph**@myfamilyname.co.ukwrote:
>Problem is if I change anything in the table structure or relationship of
one of these clubs, I want to make sure I do it with the other clubs as
well.
I use Compare'Em
http://home.gci.net/~mike-noel/Compa.../CompareEM.htm.

Not perfect but decent for the task.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
Aug 2 '08 #15

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Minh Tran | last post by:
In order to minimize the number of connection strings I have to use to access different databases on the same Sql Server, I was considering storing all stored procedures in just one database. I...
1
by: Avanish Pandey | last post by:
Hello All We have 3 differen services (in 3 different server) Service A,B,C . We want to implement distributed transaction when call methods of B and C from A. Is it possible? if yes then how? ...
10
by: Steven T. Hatton | last post by:
I've mentioned a few times that the lack of standard filenames in C++ can be problematic. This is an example of the kind of situation where it becomes so. I tend to switch between using Emacs and...
0
by: xixi | last post by:
we are using db2 udb v8.1 on win 64 bit HP titanium machine with fp3 with type 4 db2jcc.jar driver. i have two database created under different patition on same drive. when i do db2dart on the...
20
by: xixi | last post by:
hi, we use db2 udb v8.1 on windows, i am trying to use federated database objects to create wrapper, even though i have update dbm cfg using federated yes, i still get error "the instance for the...
5
by: Rich | last post by:
Hi there, For a quite big application, I need to get large amount of data within a static library (xxx.lib) and put them in a database (a class, say we call it CData), and then make it...
5
by: Mr Newbie | last post by:
Now I know that VS2005 has master pages and web parts etc etc. However, at present I am forced to work with VS2003 so I have a couple of basic questions related to the subject matter for which I am...
2
by: cygsoft | last post by:
Hi I have designed some Web Pages using Dreamweaver. The screens are looking fine when previewed with IE 6 browser. But when I view those in Netscape, the screens are totally collapsed. So can...
3
by: krzys | last post by:
I have 2 databases (with different user names and different passwords), and I need to join column_1 from table_A (on first database: database_I) on column_2 from table_B (on second database:...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.