summaryrefslogtreecommitdiff
path: root/wizards/source/access2base/Database.xba
diff options
context:
space:
mode:
Diffstat (limited to 'wizards/source/access2base/Database.xba')
-rw-r--r--wizards/source/access2base/Database.xba34
1 files changed, 25 insertions, 9 deletions
diff --git a/wizards/source/access2base/Database.xba b/wizards/source/access2base/Database.xba
index b54915f7d83a..84f1112d745c 100644
--- a/wizards/source/access2base/Database.xba
+++ b/wizards/source/access2base/Database.xba
@@ -197,6 +197,7 @@ Const cstThisSub = "Database.CreateTableDef"
Dim oTable As Object, oTables As Object, sTables() As String
Dim i As Integer, sTableName As String, oNewTable As Object
+Dim vNameComponents() As Variant, iNames As Integer
If _ErrorHandler() Then On Local Error Goto Error_Function
@@ -224,9 +225,17 @@ Dim i As Integer, sTableName As String, oNewTable As Object
Set oNewTable = New DataDef
oNewTable._Type = OBJTABLEDEF
oNewTable._Name = pvTableName
+ vNameComponents = Split(pvTableName, ".")
+ iNames = UBound(vNameComponents)
+ If iNames >= 2 Then oNewtable.CatalogName = vNameComponents(iNames - 2) Else oNewTable.CatalogName = ""
+ If iNames >= 1 Then oNewtable.SchemaName = vNameComponents(iNames - 1) Else oNewTable.SchemaName = ""
+ oNewtable.TableName = vNameComponents(iNames)
Set oNewTable._ParentDatabase = _This
Set oNewTable.TableDescriptor = .createDataDescriptor()
- oNewTable.TableDescriptor.Name = pvTableName
+ oNewTable.TableDescriptor.CatalogName = oNewTable.CatalogName
+ oNewTable.TableDescriptor.SchemaName = oNewTable.SchemaName
+ oNewTable.TableDescriptor.Name = oNewTable.TableName
+ oNewTable.TableDescriptor.Type = "TABLE"
End With
Set CreateTabledef = oNewTable
@@ -503,6 +512,7 @@ Dim sObjects() As String, bFound As Boolean, oTables As Object, oQueries As Obje
._ForwardOnly = ( pvType = dbOpenForwardOnly )
._PassThrough = ( pvOptions = dbSQLPassThrough )
._ReadOnly = ( (pvLockEdit = dbReadOnly) Or _ReadOnly )
+ Set ._This = oObject
Set ._ParentDatabase = _This
Call ._Initialize()
RecordsetMax = RecordsetMax + 1
@@ -876,8 +886,9 @@ Public Function TableDefs(ByVal Optional pvIndex As Variant, ByVal Optional pbCh
' Collect all tables in the database
' pbCheck unpublished
+Const cstThisSub = "Database.TableDefs"
If _ErrorHandler() Then On Local Error Goto Error_Function
- Utils._SetCalledSub("Database.TableDefs")
+ Utils._SetCalledSub(cstThisSub)
If IsMissing(pbCheck) Then pbCheck = False
Dim sObjects() As String, sObjectName As String, oObject As Object
@@ -915,19 +926,24 @@ Dim i As Integer, bFound As Boolean, oTables As Object
End Select
Set oObject = New DataDef
- oObject._Type = OBJTABLEDEF
- oObject._Name = sObjectName
- Set oObject._ParentDatabase = _This
- oObject._ReadOnly = _ReadOnly
- Set oObject.Table = oTables.getByName(sObjectName)
+ With oObject
+ ._Type = OBJTABLEDEF
+ ._Name = sObjectName
+ Set ._ParentDatabase = _This
+ ._ReadOnly = _ReadOnly
+ Set .Table = oTables.getByName(sObjectName)
+ .CatalogName = .Table.CatalogName
+ .SchemaName = .Table.SchemaName
+ .TableName = .Table.Name
+ End With
Exit_Function:
Set TableDefs = oObject
Set oObject = Nothing
- Utils._ResetCalledSub("Database.TableDefs")
+ Utils._ResetCalledSub(cstThisSub)
Exit Function
Error_Function:
- TraceError(TRACEABORT, Err, "Database.TableDefs", Erl)
+ TraceError(TRACEABORT, Err, cstThisSub, Erl)
GoTo Exit_Function
Trace_NotFound:
If Not pbCheck Then TraceError(TRACEFATAL, ERROBJECTNOTFOUND, Utils._CalledSub(), 0, , Array(_GetLabel("TABLE"), pvIndex))