Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: scandal
Здравствуйте!
Есть код:

Sub ConnectX(sDBname As String)
'On Error GoTo Err_Table_Append
    Dim db As Database
    Dim tdfLink1 As TableDef
    Dim x As Integer
    Dim tablename As String
    'Dim tdfLink2 As TableDef
    
    Set db = CurrentDb
    
    x = InStrRev(sDBname, "\")
    tablename = Right(sDBname, Len(sDBname) - x)
    x = InStrRev(tablename, ".")
    tablename = Left(tablename, x - 1)

    db.TableDefs.Delete "f2_prep_one"
    
    Set tdfLink1 = db.CreateTableDef("f2_prep_one")
    tdfLink1.Connect = ";DATABASE=" & sDBname
    tdfLink1.SourceTableName = tablename
    db.TableDefs.Append tdfLink1
    
Exit_ConnectX:
    Exit Sub

Err_Table_Append:
    'MsgBox Err.Description
    Resume Exit_ConnectX

End Sub

Если связь f2_prep_one до вызова этой процедуры была, то она удаляется и устанавливается новая нужная связь.
Но если связи не было, то на строке
db.TableDefs.Delete "f2_prep_one"
получается ошибка, так как я пытаюсь удалить не существующую связь.
Вопрос. Как определить, до этой строки, есть ли связь, чтоб удалять, когда есть?
Или как быть?
Процедура каждый раз должна связываться с новой таблицей, но все связи должны иметь одно имя "f2_prep_one"

Заранее спасибо!


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.