Выражение в текстовом поле не передает значение в таблицу - PullRequest
1 голос
/ 28 февраля 2020

Очевидно, я не эксперт по Access, или я бы не задавал этот вопрос. Я создал небольшую базу данных с несколькими таблицами. В форме есть несколько комбинированных полей, в которых пользователь может выбирать различные комбинации: средняя, ​​бумага, размеры и т. Д. c. Я уже создал выражение, которое возвращает правильное значение, которое мне нужно, но я не могу понять, как передать это значение в правильное поле таблицы для сохранения вместе с записью, которую создает форма. Ниже приведены скриншоты формы и несколько таблиц. Я также включил выражение, которое я использую. Мне нужно значение, которое выражение возвращает go в tbl1Artwork и заполняет поле ArtWorkSKU.

Выражение: = Left ([PieceName], 4) & [cbxArtist] .Column & [cbxMedium] .Column & [cbxPaperType] .Column & [cbxPrintType] .Column & [cbxSize] .Column

Текстовое поле ArtWorkSKU не связано, так как мне пришлось вводить выражение в нем. Я не уверен, что это правильный путь для достижения цели. В таблицах ниже, кроме PK, все поля имеют краткий текст.

Все указания приветствуются.

ArtWork FormMedium TablePaperType Table

Ответы [ 2 ]

0 голосов
/ 03 марта 2020

Создайте следующую функцию в VBA:

Function UpdateSKU() 
Me.ArtWorkSKU = Left(Me.[PieceName],4) & Me.[cbxArtist].Column(3) & _ 
Me.[cbxMedium].Column(2) & Me.[cbxPaperType].Column(2) & _ 
Me.[cbxPrintType].Column(2) & Me.[cbxSize].Column(2) 
End Function

Затем в форме обновите свойство события после обновления (не vba) каждого элемента управления «фидер» на: После обновления: = UpdateSKU ()

0 голосов
/ 28 февраля 2020

Сохранение рассчитанных данных обычно не требуется и может быть рискованным. Сохраненное значение может не совпадать с 1010 * с необработанными данными. Значение может быть рассчитано при необходимости.

Для сохранения вычисленных данных требуется код (макрос или VBA).
Может быть простым, например, Me!fieldname = Me.controlname.

Реальный трюк - выяснить, в какие события помещать код. В вашем случае, скорее всего, форма BeforeUpdate.

Рекомендуется не использовать пробелы или знаки препинания / специальные символы (только подчеркивание) в соглашении об именовании. Лучше было бы ArtworkSKU или ArtworkSKUnum или Artwork_SKU_Num.

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