Присвоение значения по умолчанию полю таблицы Microsoft Access?
У меня есть таблица базы данных в Microsoft Access. Я хочу присвоить значение по умолчанию одного из этих полей другому полю, которое происходит ранее в той же таблице.
Я попробовал значение =[Form1].[AssignedByes] без успеха и то же самое для =[AssignedByes], но без успеха.
Может ли кто-нибудь помочь?
Имя поля, которому я присваиваю значение, - [RemainingByes], а поле, которому присваивается значение, - [AssignedByes].
2 ответов:
Чтобы обойти эту проблему, я создаю запрос, который в основном функционирует как таблица. Я использую его вместо таблицы при создании других запросов, форм и т. д.
Я предполагаю, что вы копируете [AssignedByes] в [RemainingByes], потому что [RemainingByes] будет начинаться со значения [AssignedByes], но вы хотите иметь возможность изменить его позже.
Таким образом, Вы можете настроить запрос с вычисляемым полем под названием [xRemaningByes]. Вы бы ввели измененные значения в (Оставаясь наедине). Затем установите формулу в [xRemainingByes], которая возвращает значение [RemainingByes], если оно есть, а его нет, она возвращает значение [AssignedByes].
[xRemainingByes]: Iif ([IsNull ([RemainingByes], [AssignedByes], [RemainingByes].
Когда вы используете запрос вместо таблицы, вы будете использовать [xRemainingByes], которое является вычисляемым полем запроса, вместо поля таблицы [RemainingByes].
ДРУГОЙ ВАРИАНТ - - -
Создайте поле в таблица, такая как [RemainingByesOverride], и это будет там, где вы жестко вводите изменяющиеся данные. Затем избавьтесь от [RemainingByes] в таблице и используйте его только в запросе в качестве вычисляемого поля.[xRemainingByes]: Iif ([IsNull ([RemainingByesOverride], [AssignedByes], [RemainingByesOverride]
Значение поля по умолчанию применяется в момент создания новой записи. Таким образом, вы не можете использовать [AssignedByes] в качестве значения по умолчанию для [RemainingByes], потому что [AssignedByes] еще не имеет значения.
OTOH, если вы присвоили значение по умолчанию свойству [AssignedByes], используйте то же самое свойство для [RemainingByes].
Если ваша версия Access 2010, посмотрите, можно ли использовать макрос данных в качестве псевдо-триггера для выполнения того, что вы хотите.
Вы также можете попробуйте привязать форму к таблице. В событие "после обновления" элемента управления с привязкой к [AssignedByes], можно присвоить значение другого элемента управления, привязанного к [RemainingByes]. Это может позволить вам сделать то, что вам нужно в форме, но не будет применяться для изменений, внесенных вне формы.
Comments