Кнопка INSERT INTO вставляется только один раз - PullRequest
0 голосов
/ 13 июня 2018

Private Sub btnMissingModels_Click ()

' Define variables
Dim IDToUpdate As String
Dim m_strSQL As String

' Grab ID
IDToUpdate = Me.FINLDATA_ID.Value

' INSERT ID and missing model - only works once (for T300 - 0000300) and doesn't ignore 'Removed' models
m_strSQL = "INSERT INTO [FINLDATA MODELS] (FINLDATA_ID, MODEL)" & _
        "SELECT '" & IDToUpdate & "', MODEL FROM T_MODELS_LIST WHERE NOT EXISTS (SELECT MODEL FROM [FINLDATA MODELS] WHERE [FINLDATA MODELS].MODEL = T_MODELS_LIST.MODEL)"

RunSQL m_strSQL

' Refresh the form display
Me.F_EDIT_ENTRIES_MODEL_SUB.Form.Requery

End Sub

Кнопка работает хорошо, но работает только один раз.Например, я щелкаю по нему, он добавляет FINLDATA_ID и первую МОДЕЛЬ, которой нет в FINLDATA МОДЕЛЯХ, но если я щелкаю ее снова, она не добавляет следующую отсутствующую МОДЕЛЬ.

Также я хотел быдобавить второе условие WHERE, но не могу заставить его работать, используя 'AND'. Я пробовал диапазон синтаксиса, но ни один из них не работает.Я думал, что это будет работать ГДЕ (условие 1) И (условие 2).Второе условие:

ГДЕ (((T_MODELS_LIST.REMOVED) = Нет)).

Отфильтровывает все замененные модели.Я использовал это условие в предыдущих запросах, и оно хорошо сработало.

Заранее благодарю за помощь!

1 Ответ

0 голосов
/ 13 июня 2018

Это может не решить вашу проблему, но необходимо указать используемую библиотеку.Поскольку похоже, что вы используете нативные библиотеки доступа, это будет библиотека DAO, поэтому измените операторы Dim в RunSQL следующим образом:

Dim dbs as DAO.Recordset
Dim qdfSQL as DAO.QueryDef

Иногда отсутствие указания библиотеки может вызвать проблемы, дайте мне знать, если это что-то изменит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...