Не уверен, что это будет работать в специфических целях. Сценарий - это текстовые поля, заполненные данными из таблицы, и пользователь редактирует записи и нажимает кнопку для сохранения.База данных Recordset.Update или объект доступен только для чтения
Dim cdb As DAO.Database, rstEdit As DAO.Recordset
Set cdb = CurrentDb
DataValues = "SELECT * FROM Companies, Link_Table WHERE Companies.CompanyID = " & SelectedValue & ";"
Set rstEdit = CurrentDb.OpenRecordset(DataValues, dbOpenSnapshot)
With rstEdit
OldCompanyName = !CompanyName
OldCompanyDescription = !Description
OldFriendlyName = !FriendlyName
OldAddressLine1 = !AddressLine1
OldAddressLine2 = !AddressLine2
OldAddressLine3 = !AddressLine3
OldTown = !Town
OldPostcode = !AddressPostcode
OldCounty = !AddressCounty
OldMainTelephone = !MainTelephone
OldMainEmail = !MainEmail
OldWeb = !WebAddress
«Не уверен, что это необходимо. Это было указано в примере, но не знаете почему?^
!CompanyName = NewCompanyName
!Description = NewCompanyDescription
!FriendlyName = NewFriendlyName
!AddressLine1 = NewAddressLine1
!AddressLine2 = NewAddressLine2
!AddressLine3 = NewAddressLine3
!Town = NewTown
!AddressPostcode = NewPostcode
!AddressCounty = NewCounty
!MainTelephone = NewMainTelephone
!MainEmail = NewMainEmail
!WebAddress = NewWeb
.Update
End With
Однако, нажав на кнопку Сохранить, это ошибки о том, что база данных или объект доступны только для чтения, и я не уверен, почему. Насколько я знаю, он нигде не открыт и не должен открываться по какой-либо причине! Надеюсь, кто-то сможет пролить свет на этот вопрос. Таблица имеет набор первичных ключей, который является CompanyID, однако это не используется в подпрограмме.
Отличный ответ! Кроме того, убедитесь, что у вас есть первичный ключ для таблицы, которую вы хотите обновить. Это была моя другая проблема. –