Я новичок в базах данных. Я создаю базу данных Access для отслеживания динамики запасов нашей компании. У меня две таблицы. Один из них - текущий инвентарный запас, другой - потребление, вызванное производственной деятельностью. Обновление выполняется сразу после каждого выпуска.Использование оператора SQL для таблиц условного обновления в доступе 2013
Перед выполнением обновления я хочу проверить, что один и тот же блок используется как в статусе запаса, так и в листе потребления. Я пытаюсь сделать что-то вроде этого:
Private Sub Command4_Click()
CurrentDb.Execute "SELECT o.Unit, s.Material_Unit" & _
"CASE WHEN o.Unite = s.Material_Unit" & _
"THEN UPDATE tbl_Current_Stock As o INNER JOIN bl_Temp_Raw_Material_Consumption AS s ON o.Raw_Material = s.[Ingredient/Packaging material] Set o.Stock_Level = o.Stock_Level - s.Consumption" & _
" Print'Congratulations! You have successfully updated inventory balance!'" & _
"ElSE PRINT ' Units of source data and targeted data are not matched!'" & _
"Exit Sub" & _
"End" & _
"FROM tbl_Current_Stock As o, bl_Temp_Raw_Material_Consumption AS s"
END sub
Но, похоже, некоторые ошибки существуют. Пожалуйста, помогите мне в этих кодах.
Спасибо.
Вы объединяете код SQL и VBA. А Access SQL не поддерживает выражения 'CASE'. Рассмотрите возможность чтения документов или руководств по MS Access. – Parfait