2012-02-21 5 views
1

У меня есть форма с несколькими связанными полями и несколькими флажками «custom made», которые устанавливают значения для vba. Когда я сейчас начинаю новую запись с помощью DoCmd.GoToRecord, acNewRec, Access очищает мою форму, но не будет создавать свежий идентификатор до тех пор, пока значение не будет введено в одно из связанных полей. Поскольку мои поля флажка не привязаны, любые изменения перед измененным полем не будут сохранены. Я попытался добавить значения с помощью операторов sql, но доступ вызывает ошибку после того, как я изменил другое поле, указав, что текущий набор записей был изменен, поэтому я сомневаюсь, что это путь.Как заставить доступ для начала новой записи

Моя форма основана на запросе и witch vba. Я установил флажки, такие как [value_x] = true (который отлично работает, когда я впервые введу данные в связанное поле и тем самым создаю новую запись).

(Другой способ избежать этого было бы установить любое связанное поле во время OnLoad-событий на значение и удалить значение после этого. Но это не очень чистое я думаю ..)

+1

Это по дизайну ... Если вы хотите завести новый ID там раньше времени, вам нужно будет выполнить цикл создания/редактирования. Почему ваши флажки не связаны? –

+0

Нормальные флажки для моих формул небольшие, поэтому я использую labelields с onclick-events и «X» внутри. Они выглядят лучше и могут быть намного больше, но не могут быть связаны (насколько я знаю?). Я знаю, что флажки activex изменяемы по размеру, но я еще не тестировал их. – Christian

+1

Я решил эту проблему раньше, но у меня больше нет доступа к исходному коду. Я полагаю, что я сделал, связал событие OnClick с моим настраиваемым флажком и использовал это, чтобы изменить значение скрытого флажка, связанного с базовым набором записей. –

ответ

1

После тестирования нескольких подходов Я нашел, что моя заявленная идея была самым простым. Это означает, что я устанавливаю значение связанного поля в событии form_load и работаю с me.dirty, где это необходимо.

Конечно, после этого я должен удалить пустые записи (если кто-то только открывает и закрывает форму), но это можно обрабатывать очень легко.

Еще одна отличная идея - это тот, который дал мне Роберт Харви. Он предложил добавить событие клика в мои несвязанные пользовательские флажки и использовать это, чтобы изменить поле флажка скрытой привязки, которое также отлично поработало.

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