Функция обновления не возвращает значение правильно - PullRequest
0 голосов
/ 26 марта 2020

У меня есть две таблицы, из которых я объединяю поля. Первичный ключ (ID) первой таблицы (tbl1Artwork) имеет тип данных AutoNumber и формат «SA» 0000. Вторая таблица (tbl0Artist), поле (ArtistSKU) отформатирована как ShortText. Я запускаю код, показанный в виде AfterUpdate в форме. Ожидаемый результат - «SA0008DL1» (DL1 объединяется из поля ArtistSKU). Фактический результат 8DL1. Это сбивает с толку, так как SA0008 правильно хранится в поле идентификатора таблицы tbl1Artwork.

Option Compare Database Private Function UpdateArtworkSKU() Me.ArtworkSKU = Me.txtArtworkID & Me.cboArtistID.Column(3) End Function

1 Ответ

1 голос
/ 26 марта 2020

Несмотря на то, что вы отформатировали поле первичного ключа, чтобы оно выглядело как «SA0008», фактическое сохраняемое значение равно всего 8. Поэтому вам необходимо изменить код так:

Me.ArtworkSKU = "SA" & Format(Me.txtArtworkID,"0000") & Me.cboArtistID.Column(3)

Кроме того, использование первичного ключа, когда он является автонумерацией для чего-либо, кроме соединения данных за кулисами, обычно является плохой идеей.

С уважением,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...