2016-10-18 5 views
0

Я пытаюсь написать проверку состояния, которая проверяет существование записи: если она делает это, она открывает форму, тогда как если она не добавляет запись сначала, а затем открывает форма.Добавить запись, если она не существует

У меня проверка условий работы, но я не могу понять, как добавить запись в таблицу.

Таблица имеет только две колонки (ID, ID для связи). ID является автоматическим номером и является первичным ключом. ID для ссылки предназначен только для привязки бюджетной информации к соответствующей учетной записи.

В результате кода возникает ошибка Runtime (3134, синтаксическая ошибка в инструкции INSERT INTO).

Private Sub Test_Budget_Click() 

    If IsNull(DLookup("[ID to Link]", "TEST_Budget Information", "[ID to Link] = " & _ 
    [Forms]![Award Information]![Internal ID to Link] & "")) Then 

     DoCmd.RunSQL "INSERT INTO TEST_Budget Information([ID to Link])" & _ 
     "VALUES ('" & [Internal ID to Link] & "')" 
     MsgBox "Record does not exist" 
    Else 
     MsgBox "Record Exists" 
    End If 

End Sub 

ответ

2

Вы должны обернуть TEST_Budget Information в квадратных скобках, и вам не хватает пару пространств. Попробуйте это:

DoCmd.RunSQL "INSERT INTO [TEST_Budget Information] ([ID to Link])" & _ 
       " VALUES ('" & [Internal ID to Link] & "')" 

Я бы рекомендовал, чтобы в будущем вам избежать пробелов в ваших именах таблиц и столбцов, так как они могут вызвать проблемы.

+0

Это работало безупречно. Огромное спасибо. Я на самом деле студент-второкурсник, изучающий информатику, и если есть одна вещь, которую я узнал, она никогда не назовете ничего с пробелами. Я не делал эту базу данных, но пробелы по-прежнему преследуют меня. –

+0

Рад, что это сработало. Не возражаете ли вы отметить его как принятый ответ, пожалуйста? – Orilux

Смежные вопросы