Public Sub LoadTables()
On Error GoTo Err_LoadTables
Dim sResult As String
Dim MyRS As DAO.Recordset
Dim sTableName As String, sDataPW As String, sSecPW As String, sPurchServPW As String, sConnect As String
Dim sDatabaseName As String, sDirectory As String
Dim sStatus As String
'Open list of tables to load
sDataPW = "pwd1"
sResult = "SELECT tbl_Tables_to_Load.* FROM tbl_Tables_to_Load;"
Set MyRS = CurrentDb.OpenRecordset(sResult)
With MyRS
If .RecordCount Then
.MoveFirst
While Not (.EOF)
sDirectory = Nz(.Fields("File Location").Value, "")
If GRUNLOCAL Then
sDatabaseName = LOCAL_DIR
ElseIf VBA.Len(sDirectory) Then
sDatabaseName = .Fields("File Location").Value
Else
sDatabaseName = NETWORK_DIR
End If
If VBA.Right(sDatabaseName, 1) <> "\" Then
sDatabaseName = sDatabaseName & "\"
End If
If Not (IsNull(.Fields("File Name").Value)) Then
sDatabaseName = sDatabaseName & .Fields("File Name").Value
If Not (IsNull(.Fields("Table Name").Value)) Then
sTableName = .Fields("Table Name").Value
if Not(IsConnected(sTableName))
sConnect = ";DATABASE=" & sDatabaseName & ";pwd=" & sDataPW
Call ConnectTable(sTableName, sConnect, sTableName)
End If
End If
End If
.MoveNext
Wend
End If
.Close
End With
Exit_LoadTables:
Set MyRS = Nothing
Exit Sub
Err_LoadTables:
Call ErrHandler("LoadTables routine", Err.Number, Err.Description)
Resume Exit_LoadTables
End Sub
Public Function IsConnected(sTableName As String) As Boolean
On Error GoTo Err_IsConnected
Dim bResult As Boolean
Dim tdTemp As TableDef
bResult = False
Set tdTemp = CurrentDb.TableDefs(sTableName)
If Not (tdTemp Is Nothing) Then
bResult = True
End If
Exit_IsConnected:
Set tdTemp = Nothing
IsConnected = bResult
Exit Function
Err_IsConnected:
If Err.Number = 3265 Then
Err.Clear
Else
Call ErrHandler("IsConnected function", Err.Number, Err.Description)
End If
Resume Exit_IsConnected
End Function
Public Sub ConnectTable(sTableName As String, sConnect As String, sSourceTable As String)
On Error GoTo Err_ConnectTable
Dim tdfLinked As TableDef
Dim rstLinked As DAO.Recordset
Dim intTemp As Integer
' Create a new TableDef, set its Connect and
' SourceTableName properties based on the passed
' arguments, and append it to the TableDefs collection.
Set tdfLinked = CurrentDb.CreateTableDef(sTableName)
tdfLinked.Connect = sConnect
tdfLinked.SourceTableName = sSourceTable
CurrentDb.TableDefs.Append tdfLinked
Set rstLinked = CurrentDb.OpenRecordset(sTableName)
Exit_ConnectTable:
Exit Sub
Err_ConnectTable:
'Stop
Call ErrHandler("ConnectTable routine", Err.Number, Err.Description)
Resume Exit_ConnectTable
End Sub