Solved

Access 2007 Split DB Un-Link Tables

Posted on 2014-10-22
12
131 Views
Last Modified: 2014-10-23
I am looking for code to un-link all tables that are connected to the split backend DB
0
Comment
Question by:CMILLER
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 5
  • 2
12 Comments
 
LVL 75
ID: 40398251
Are you aware that you can just manually Delete the links via the Navigation Pane ?

mx
0
 
LVL 75

Assisted Solution

by:DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform)
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform) earned 100 total points
ID: 40398260
Because any VBA Code solution would simply Delete those table names.
Example

CurrentDB.TableDefs.Delete("YourLinkedTableName")
mx
0
 
LVL 85

Accepted Solution

by:
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 400 total points
ID: 40398264
You can do it with code like this:

Dim dbs As DAO.Database
Dim tdf As DAO.TableDef
Set dbs = CurrentDB
For Each tdf in dbs.TableDefs
  If Len(tdf.Connect) > 0 Then
    DoCmd.DeleteObject acTable, tdf.Name
  End If
Next tdf

Open in new window

0
Simplifying Server Workload Migrations

This use case outlines the migration challenges that organizations face and how the Acronis AnyData Engine supports physical-to-physical (P2P), physical-to-virtual (P2V), virtual to physical (V2P), and cross-virtual (V2V) migration scenarios to address these challenges.

 

Author Comment

by:CMILLER
ID: 40398442
DatabaseMX,

Yes and I tried that but when I ran the code that I have to re-link the backend tables it didnt add the one table back that I deleted.
0
 

Author Comment

by:CMILLER
ID: 40398443
Here is what I am using to link the tables.



Function HQlinkTable()
On Error GoTo Relink_Error
Dim dbs As DAO.Database, strBEPath As String
Dim tdf As DAO.TableDef
Set dbs = CurrentDb()
strBEPath = "\\server-name\folder1\folder2\db_be.accdb"
Dim dbData  As DAO.Database
Set dbData = DBEngine.OpenDatabase(strBEPath)
     For Each tdf In dbs.TableDefs
          If tdf.Connect <> "" Then
               tdf.Connect = ";DATABASE=" & strBEPath
               tdf.RefreshLink
          End If
     Next
dbData.Close
Set dbData = Nothing

'add this line
If Err = 0 Then
MsgBox "DB Table Linking Process Successful"
End If


Relink_Error:
     If Err.Number = 3024 Then
          MsgBox "Unable to connect to data tables!" & vbCrLf & "Closing Application", vbQuestion, "DATA TABLES MISSING!"
          Err.Clear
           Application.Quit
     End If
End Function
0
 

Author Comment

by:CMILLER
ID: 40398446
Scott McDaniel,

When I run that code it removes all the tables but the only way to relink them is to manually import them back in.
0
 
LVL 75
ID: 40398498
You didn't say anything about relinking ...

And ... if you delete the links, then you have to manually link them using the Access UI before you can 'relink' them ...for example if the BE is moved ... and you need to Relink.   Relinking is generally done when a BE is moved.  If there are no tables currently linked (to relink), then you need to manually Link to get started.

 

2
0
 
LVL 75
ID: 40398501
This image should  have been above the first image above

1
0
 
LVL 85
ID: 40399071
When I run that code it removes all the tables but the only way to relink them is to manually import them back in.
As Joe mentioned, you didn't say you wanted to relink, only "un-link" them.

You can relink in several ways. Joe has shown you the manual method. If you'd like a way to RE-link that tables - that is to "refresh" the links - then you can either write your own method, or use one of the many free processes out there. Armen Stein's J Street Access Relinker (http://www.jstreettech.com/downloads.aspx) is a nice one, and should do everything you need.
0
 

Author Comment

by:CMILLER
ID: 40399567
Sorry, for not asking the question correctly.

Yes, I know how to re-link them manually.

I will ask a new question.
0
 
LVL 75
ID: 40399982
"You can relink in several ways. Joe has shown you the manual method. "
Actually ... I showed how to Link, not relink ... since relinking technically ... only applies to tables already Linked to a BE. And Armen's tool does Relinking ... not initial Linking - of previously unlinked tables.

Further, I actually explained why the code we supplied was not doing what you asked - and how to correct that issue.

Just sayin' ...

mx
0
 

Author Comment

by:CMILLER
ID: 40400235
The code that I posted for this question is how I relink the tables.

I use this split DB for three diff dept's on three diff networks. The code that I have mapping...relinking...etc....works fine.

I have another use for the split DB and need a quick way to unlink....delete....etc.
0

Featured Post

Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
Access custom database properties are useful for storing miscellaneous bits of information in a format that persists through database closing and reopening.  This article shows how to create and use them.
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question