Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations bkrike on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Front End - Back End problem 1

Status
Not open for further replies.

auger

Technical User
Oct 27, 2001
48
CA
Apparently I forgot something important re: splitting DBs into backend/frontend apps. I split a small db into a backend and a design master, and have replicated the design master to a couple of client machines. The clients seem to be writing to the design master and not the back end. Argh. Any suggestions on where to look to straighten this out?

 
In the Replica you need to delete the links to the Design Master and replace them with links to the BackEnd.

Make sure you use \\Server\Path format links so that it will still work regardless of the drive mapping on individual machines.

'ope-that-'elps.

G LS
 
Some thoughts:

If you split the original database correctly, there won't be any tables in the design master. Did you use the menu option to do the splitting, or did you simply export the tables to another database?

You might have to run the linked table manager wizard to redirect the links.


When you did the replication did that proceed normally. In my experience, replication is not without problems. I tried it at a client and subsequently withdrew it. There weresimply too many problems when synchronisisng.

hope this helps
 
I wouldn't complicate my life with the Splitter unless there's are really compelling argument for it. I find it's so convenient to just place tables in another db and link them to my front end. It's also a breeze to delete links, link to another set of tables, re-link, etc.
 
The low tech solution:
You only need to change the links in the frontend to point to the client replica, force everyone to put it in the same place and distribute the new frontend.

A little more fun:
Following up on LittleSmudge's suggestion you can set the connect property of the tabledef objects.

Luckily for you I've had to change connect strings programmatically before...


Sub ChangeConnect(strDBpath As String, strOldpath As String, strNewpath As String)
Dim Ws As Workspace
Dim db As Database
Dim tbls As TableDefs
Dim tbl As TableDef
Dim strconnect As String
Dim intStartpos As Integer
Dim intlenoldpath
Set Ws = DBEngine.Workspaces(0)
Set db = Ws.OpenDatabase(strDBpath)
Set tbls = db.TableDefs

intlenoldpath = Len(strOldpath)
For Each tbl In tbls
strconnect = tbl.Connect
If Len(strconnect) > 0 Then
intStartpos = InStr(1, strconnect, strOldpath, vbTextCompare)
strconnect = Left(strconnect, (intStartpos - 1)) & strNewpath & Right(strconnect, (Len(strconnect) - intStartpos - intlenoldpath + 1))
tbl.Connect = strconnect
tbl.RefreshLink
tbls.Refresh
MsgBox tbl.Connect
End If
Next
db.Close
Set tbl = Nothing
Set tbls = Nothing
Set db = Nothing
Set Ws = Nothing
End Sub


I have never dabled in replication, I was scared off by the way the documentation described Access handles collisions of data changes. Good luck!
 
I have another thought about this last night auger - and I want to question what you are actually saying in your original thread.

If you've split the db into FrontEnd and BackEnd
FrontEnd should contain Forms, Queries, Reports, Modules but NO tables
BackEnd should contain tables and nothing else.

Then the only database that you need to replicate is the BackEnd so that you can distribute it to siles or computers that are not permanently connected to a common network.

The FrontEnd you simply duplicate and distribute copies, making sure that each copy links it's tables to the appropriate replica BackEnd.


( I say all of the above because I get the idea from your original post that you are replicating the FrontEnd - which is NOT necessary. )


'ope-that-'elps.

G LS
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top