Блокировка базы данных MS-Access при выполнении запроса вставки через VBA - PullRequest
0 голосов
/ 12 июня 2018

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

Я сделал следующее кодирование:

Private Sub Update_ISO_Review_Register()
  Dim dbs As DAO.Database

  Set dbs = CurrentDb

  dbs.Execute "Update_ISO_Review_Register_ApplicationData"

  dbs.Close
  Set dbs = Nothing
End Sub

Код работает, и он выполняет запрос.Проблема в том, что после этого он блокирует базу данных и выдает следующую ошибку.

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

SQL для запроса Update_ISO_Review_Register_ApplicationData:

INSERT INTO     ISO_REVIEW_REGISTER ( SLTF_Ref, Brand, Application_No ) 
SELECT DISTINCT b.matter_No AS SLTF_Ref
                , b.Brand
                , b.CREDIT_APPLICATION_ID AS Application_No 
FROM            WBC_HFM_FileReveiw_Table AS a INNER JOIN WBC_HFM_Application_Table AS b ON 
                    a.CREDIT_APPLICATION_ID = b.CREDIT_APPLICATION_ID;

Любая помощь?

1 Ответ

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

Будет ли это работать, если вы только сделаете это:

Private Sub Update_ISO_Review_Register()    
    CurrentDb.Execute "Update_ISO_Review_Register_ApplicationData"        
End Sub

Вы можете прекрасно жить без них:

  Dim dbs As DAO.Database
  Set dbs = CurrentDb
  dbs.Close
  Set dbs = Nothing

особенно установите set dbs = Nothing, который является локальной переменной и "умирает "после End Sub.

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