Присвоение значения по умолчанию полю таблицы Microsoft Access?



У меня есть таблица базы данных в Microsoft Access. Я хочу присвоить значение по умолчанию одного из этих полей другому полю, которое происходит ранее в той же таблице.



Я попробовал значение =[Form1].[AssignedByes] без успеха и то же самое для =[AssignedByes], но без успеха.



Может ли кто-нибудь помочь?



Имя поля, которому я присваиваю значение, - [RemainingByes], а поле, которому присваивается значение, - [AssignedByes].

1017   2  

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

    Ничего не найдено.