Hi
I'm using VB6 & Access 97
I want to create tables by copying from an existing table using VB
My code works, but I cannot see the table in Access (it is not hidden or a system table)
I know that the table exists because I can use it in VB and, in Access, if I try to copy a table to the name it says that the table already exists
Can anyone suggest how I can make it visible?
Thanks
Code follows
Set dbsFrom = OpenDatabase("S:\Dc~vb\DataBase\Job Definitions\DC~VB Jobs.mdb")
Set dbsTo = OpenDatabase(strPath & "Job Definitions\DC~VB Jobs.mdb")
For NN = 0 To dbsTo.TableDefs.Count
If dbsTo.TableDefs(NN).Name = cmbJobName Then
dbsTo.TableDefs.Delete cmbJobName
Exit For
End If
Next NN
For NN = 0 To dbsFrom.TableDefs.Count - 1
If dbsFrom.TableDefs(NN).Name = cmbJobName Then
Set tdfFrom = dbsFrom.TableDefs(NN)
Exit For
End If
Next NN
Set tdfTo = dbsTo.CreateTableDef(cmbJobName, dbOpenTable)
'Create Field Definitions
For Each fldTemp In tdfFrom.Fields
tdfTo.Fields.Append tdfTo.CreateField(fldTemp.Name, fldTemp.Type)
For Each prpTemp In fldTemp.Properties
tdfTo.Fields(fldTemp.Name).Properties(prpTemp.Name) = prpTemp
Next prpTemp
Next fldTemp
'Create Indices
For Each idxTemp In tdfFrom.Indexes
Set idxNew = New Index
idxNew.Name = idxTemp.Name
For Each fldTemp In idxTemp.Fields
idxNew.Fields.Append idxNew.CreateField(fldTemp.Name)
Next fldTemp
idxNew.Primary = idxTemp.Primary
tdfTo.Indexes.Append idxNew
Next idxTemp
dbsTo.TableDefs.Append tdfTo
Set rstTo = dbsT
penRecordset(cmbJobName, dbOpenTable)
I'm using VB6 & Access 97
I want to create tables by copying from an existing table using VB
My code works, but I cannot see the table in Access (it is not hidden or a system table)
I know that the table exists because I can use it in VB and, in Access, if I try to copy a table to the name it says that the table already exists
Can anyone suggest how I can make it visible?
Thanks
Code follows
Set dbsFrom = OpenDatabase("S:\Dc~vb\DataBase\Job Definitions\DC~VB Jobs.mdb")
Set dbsTo = OpenDatabase(strPath & "Job Definitions\DC~VB Jobs.mdb")
For NN = 0 To dbsTo.TableDefs.Count
If dbsTo.TableDefs(NN).Name = cmbJobName Then
dbsTo.TableDefs.Delete cmbJobName
Exit For
End If
Next NN
For NN = 0 To dbsFrom.TableDefs.Count - 1
If dbsFrom.TableDefs(NN).Name = cmbJobName Then
Set tdfFrom = dbsFrom.TableDefs(NN)
Exit For
End If
Next NN
Set tdfTo = dbsTo.CreateTableDef(cmbJobName, dbOpenTable)
'Create Field Definitions
For Each fldTemp In tdfFrom.Fields
tdfTo.Fields.Append tdfTo.CreateField(fldTemp.Name, fldTemp.Type)
For Each prpTemp In fldTemp.Properties
tdfTo.Fields(fldTemp.Name).Properties(prpTemp.Name) = prpTemp
Next prpTemp
Next fldTemp
'Create Indices
For Each idxTemp In tdfFrom.Indexes
Set idxNew = New Index
idxNew.Name = idxTemp.Name
For Each fldTemp In idxTemp.Fields
idxNew.Fields.Append idxNew.CreateField(fldTemp.Name)
Next fldTemp
idxNew.Primary = idxTemp.Primary
tdfTo.Indexes.Append idxNew
Next idxTemp
dbsTo.TableDefs.Append tdfTo
Set rstTo = dbsT