v skopin
Дата: 01.06.2004 15:24:15
привет!
Проблема в следующем.
Процедура использует залинкованую таблицу
Если линк стоит в общих таблицах (причом, не обязательно открыт - просто в списке), то процедура не идет. Пишет ошибку, что табличка уже используется.
А если в списке нет, то все идет нормально.
Как быть, не удалять же из списка, а потом обратно?
заранее спасибо!
v skopin
Дата: 01.06.2004 15:59:59
у меня аксес немецкий!
Laufzeitfehler
Table 'wba_test_IMMOB' ist bereits vorhanden
дословный перевод:
Ошибка срока
Table 'wba_test_IMMOB' уже имеется в наличии
а процедурка вот:
Public Sub SynchTableODBC(strTable, strPK)
...
Link_ADO_DSN (strTable)
...
End Sub
' Function Delete_ADO_DSN(strODBC_TableName):
' Create a linked ODBC Table in catalog
' Param In:
' strODBC_TableName (string) name of the local table, prefix "ORA_" is added in function
' Return:
' (nothing)
Public Function Link_ADO_DSN(strODBC_TableName)
Dim cat As New ADOX.Catalog
Dim tbl As New ADOX.Table
Dim strODBC_DSN As String
Dim strODBC_UserID As String
Dim strODBC_Password As String
strODBC_DSN = "TDB"
strODBC_UserID = "WBA_TEST"
strODBC_Password = "WBA_TEST"
strODBC_TableName = UCase(strODBC_TableName)
' Set the ADO connection
cat.ActiveConnection = CurrentProject.Connection
' Set the name and target for the table
tbl.Name = "wba_test_" & strODBC_TableName
Set tbl.ParentCatalog = cat
' Set the properties for the linked table
tbl.Properties("Jet OLEDB:Create Link") = True
tbl.Properties("Jet OLEDB:Link Provider String") = _
"ODBC;DSN=" & strODBC_DSN & ";" & _
"UID=" & strODBC_UserID & ";pwd=" & strODBC_Password & ";"
tbl.Properties("Jet OLEDB:Cache Link Name/Password") = True
tbl.Properties("Jet OLEDB:Remote Table Name") = strODBC_TableName
' Append the table to the collection
cat.Tables.Append tbl
Set tbl = Nothing
Set cat = Nothing
End Function