2013-07-23 4 views
0

Я пытаюсь обновить запись в другой таблице. Поэтому у меня есть моя первая таблица InfoDetailsTable, которая имеет кучу записей с одним из значений KitNumber. В этой таблице InfoDetailsTable я обновляю некоторые флажки, и когда они меняются, предполагается обновить значение таблицы Reason, InfoTable. Я просто не совсем уверен, как работать с моей инструкцией UPDATE, чтобы я мог обновить свою конкретную запись InfoTable на основе записи, которую я изменил в InfoDetailsTable. Вот код:Обновление записи в другой таблице, соответствующей той же записи

CurrentDb.Execute " UPDATE InfoTable SET Reason = 'blah' WHERE KitNumber = " & InfoDetailsTable.KitNumber 

Так InfoTable имеет Reason и KitNumber в то время как InfoDetails также KitNumber, потому что они находятся в отношениях, где KitNumber на InfoTable является первичным ключом. Если кто-то может помочь, это будет здорово. Спасибо

EDIT: Вот еще код, возможно, поможет.

If USBCheck = True And ThreewayCheck = True And Car1Check = True And Car2Check = True Then 
CurrentDb.Execute " UPDATE InfoTable SET Reason = '' WHERE KitNumber = " & InfoDetailsTable.KitNumber 
ElseIf USBCheck = False Or ThreewayCheck = False Or Car1Check = False Or Car2Check = False Then 
CurrentDb.Execute " UPDATE InfoTable SET Reason = 'blah' WHERE KitNumber = " & InfoDetailsTable.KitNumber 
End If 

Forms!Search!Info.Form.Requery 

Если я изменить код, как CurrentDb.Execute " UPDATE InfoTable SET Reason = 'blah' " тогда я получаю все, чтобы работать хорошо, просто «бла» в настоящее время обновляется для каждой записи, где я только хочу его в записи я обновляемой в InfoDetailsTable

+1

Где вы пытаетесь запустить этот код? вы пытаетесь обновить его при обновлении записей из формы? – ObieMD5

+0

@ ObieMD5 У меня есть форма с тремя подформами на ней. Этот код находится в подчиненной форме и пытается обновить другую подчиненную форму. Я устанавливаю флажки в этой форме и хочу, чтобы она обновляла другую подчиненную форму, когда это происходит – Patrick

+0

@patrick, если флажки вашей подформы несвязаны и просто используются для создания вашего оператора обновления (что похоже на то, что вы создаете запрос на обновление), вам нужно предоставить нам гораздо больше информации – Scotch

ответ

1

Используйте это, чтобы получить из полей:

CurrentDb.Execute " UPDATE InfoTable SET Reason = 'blah' WHERE KitNumber = " & Me.KitNumber 

Когда вы работаете с кодом из текущей формы, вы должны ссылаться на него со мной. Если он не работает, вы по-прежнему предоставляете ссылку, и я буду смотреть на нее.

+0

Да! Спасибо. Я понятия не имею, почему я думал, что это нужно для 'InfoDetailsTable.KitNumber'. Огромное спасибо. Я обещаю, что я не так медленно. Я действительно ценю твою помощь. – Patrick

0

Если KitNumber является полем идентификации для InfoTable (первичный ключ), то то, что у вас есть, будет работать.

+0

Это дает мне ошибку, говоря «Требуемый объект», а затем выделяет код, который я представил выше. – Patrick

Смежные вопросы