VBA, MS Access MS Access в примерах

SQL Запрос - Создание связей между таблицами через SQL запрос

Sub test()
'es 05.12.2019
'Создание связей между таблицами через SQL запрос
'--------------------------------------------------------------------
'Доп инфо:
'   Предложение CONSTRAINT (Microsoft Access SQL)
'   https://docs.microsoft.com/ru-ru/office/client-developer/access/desktop-database-reference/constraint-clause-microsoft-access-sql
'--------------------------------------------------------------------
Dim s$

'Создание связи "Один ко многим"
    'Тут так:
    's = "ALTER TABLE [Название таблицы со стороны мгогие] " & _
        "ADD CONSTRAINT [Название таблицы со стороны один] " & _
        "FOREIGN KEY ([Название поля со стороны мгогие]) " & _
        "REFERENCES [Название главной таблицы] ([Название поля со стороны один]) " & _
        "ON UPDATE CASCADE ON DELETE CASCADE"
    
    '([Название поля со стороны один]) - Это предложение можно опустить, & _
        если поле, на которое ссылаются, представляет собой первичный ключ
    
    s = "ALTER TABLE dtDocs0Set " & _
        "ADD CONSTRAINT dtDocs  " & _
        "FOREIGN KEY (DocIDN) " & _
        "REFERENCES dtDocs (DocID) " & _
        "ON UPDATE CASCADE ON DELETE CASCADE"
    'Debug.Print s
    
'--------------------------------------------------------------------
'   Внимание! CurrentDb.Execute (DAO Method) - не отработает !!!
'   Выдаст: "Syntax error in CONSTRAINT clause."
'--------------------------------------------------------------------
    CurrentProject.Connection.Execute s

End Sub
Назад ToTop
L.E. 05.12.2019
Рейтинг@Mail.ru