Используйте VBA для установки флажка в форме таблица не

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

Me.tblProjectCompletion.Done = -1

и я попробовал без него Me.

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

if ProjectCompletion.ProjectCompID = Project.ProjectID then tblProjectCompletion.Done = -1

Но такой код тоже не работает. Есть предложения?

Currentdb.Execute
Update ProjectCompletion
Set [ProjectCompletion].[Done] = -1
WHERE [ProjectCompletion].[ProjectCompID] = [Project].[ProjectID]

Я пробовал этот код С и без скобок и кавычек, и точка с запятой в конце. С помощью этого шаблона он останавливается на Execute и говорит argument not optional. Следующий код работает. Мне просто нужно добавить проверку флажка.

Private Sub Save_Record_Click()
DoCmd.RunCommand acCmdSaveRecord
If Me.Dirty Then
Me.Dirty = False
End If
End Sub

1 ответ

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

    CurrentDb.Execute "UPDATE ProjectCompletion SET [ProjectCompletion].[Done] = -1 WHERE [ProjectCompletion].[ProjectCompID] = " & Me.Recordset.Fields("ProjectID").Value