Я пытаюсь сделать так, чтобы Query 1 вставлял в 1 из 3 полей в зависимости от того, выбрано ли значение задачи (взято из другой таблицы) (true или false). Эта часть работает.Добавление/обновление таблицы sql в VBA
Предполагается, что Query 2 обновит остальные 2 поля, пустые для значений в поле со списком. Эта часть не работает. Синтаксически это кажется правильным, и это не сбой. Но я просто не думаю, что он читает его в первую очередь.
Все это должно быть выполнено с помощью 1 нажатия кнопки.
Запрос 1:
Sub DBInsert_SkillMatrix()
sSQL = "Insert into tblSkillMatrix (Task) Select Task from tblTask WHERE Selected = true"
Set db = CurrentDb
db.Execute (sSQL)
db.Close
End Sub
Запрос 2:
Sub DBUpdate_SkillMatrix()
Dim db As DAO.Database
sSQL = "UPDATE tblSkillMatrix SET Skill = '" & Me.cboAST_Skill & "', Requirement = '" & Me.cboAST_Requirement & "' WHERE Skill = ''"
Set db = CurrentDb
Debug.Print (sSQL)
db.Execute (sSQL)
End Sub
Я вижу 'WHERE Skill = ''" 'в конце второго запроса. Предполагается ли это так? Можете ли вы показать debug.print (sSQL)? – Vityata
Это Debug.Print UPDATE tblSkillMatrix SET Skill = 'Обзор TCM и практический опыт калибровки инструментов (базовые инструменты измерения)', Требование = 'R' WHERE Skill = ''. «В конце это потому, что для sSQL требуется строка стоимость. –
Я вижу, что проблема в том, что он не интерпретирует инструкцию WHERE правильно, но я не уверен, как еще я могу сказать, чтобы он захватил навыки, имеющие значение NULL. –