2012-02-22 2 views
2

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

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

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

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

ответ

2

Чтобы обойти эту проблему, я создаю запрос, который в основном функционирует как таблица. Я использую его вместо таблицы при создании других запросов, форм и т. Д.

Я предполагаю, что вы копируете [AssignedByes] в [RemainingByes], потому что [RemainingByes] начнет со значения [AssignedByes], но вы хотите изменить его позже.

Итак, вы можете настроить запрос с помощью исчисляемого поля, называемого [xRemaningByes]. Вы должны ввести измененные значения в [RemainingByes]. Затем установите формулу в [xRemainingByes], которая возвращает значение [RemainingByes], если она есть, а она нет, она возвращает значение [AssignedByes].

[xRemainingByes]. IIF ([IsNull ([RemainingByes], [AssignedByes], [RemainingByes]

При использовании запроса вместо таблицы, вы будете использовать [xRemainingByes], что в запросе вычисляемое поле, а поле таблицы [RemainingByes].


Другой вариант ---
Создать поле в таблице, такие как [RemainingByesOverride], и ​​это будет где трудно ввести изменяющиеся данные. После этого избавиться из [RemainingByes] в таблице и только иметь его в запросе как вычисленное поле.

[xRemainingByes]: Iif ([IsNull ([RemainingByesOverride], [AssignedByes], [RemainingByesOverride]

1

Значение по умолчанию для поля применяется в момент создания новой записи. Таким образом, вы не можете использовать [AssignedByes] в качестве значения по умолчанию для [RemainingByes], потому что [AssignedByes] еще не имеет значения.

OTOH, если вы присвоили свойство значения по умолчанию для [AssignedByes], используйте тот же самый свойство для [RemainingByes].

Если ваша версия доступа находится в 2010 году, посмотрите, можно ли использовать макрос данных в качестве псевдо-триггера для выполнения того, что вы хотите.

Вы также можете попробовать привязать форму к таблице. В событии после обновления элемента управления, привязанного к [AssignedByes], вы можете присвоить значение другому элементу управления, связанному с [RemainingByes]. Это может позволить вам делать то, что вам нужно в форме, но не будет применяться к изменениям вне формы.

+0

Вздох, это довольно назойливое ограничение по умолчанию. – user7116

Смежные вопросы