Формы не сохраняются - PullRequest
0 голосов
/ 07 мая 2020

Во-первых, я прошу прощения за свою терминологию, а иногда и за глупость, так как меня учили полностью сам / целую rnet (в основном здесь). Последние несколько лет я разрабатываю приложение, в основном для того, чтобы помогать мне в работе, а также для того, чтобы подбадривать и хихикать. Я столкнулся с проблемой, которая поставила меня в тупик! Поэтому я обращаюсь к вам с любыми предложениями, пожалуйста:)

Хорошо, немного фона, я использую цвета во всех формах, чтобы идентифицировать блоки данных на основе идентификатора - это выглядит красиво, хорошо; а иногда это быстрый идентификатор того, к какому блоку принадлежат данные при просмотре таблиц. Итак, у меня есть форма, в которой я или пользователь могу изменить эти цвета на то, что подходит их глазам, требуется et c. и есть таблица, содержащая эту информацию. Теперь эти цвета применяются с использованием «условного форматирования» (когда ID = 1, то фон этот цвет, шрифт тот цвет и т. Д. c). Когда форма открывается в коде FormLoad (), выполняется проверка, были ли изменены цвета, и если да, то вызывается модуль, который обновляет все «условные форматы» в форме (я должен добавить здесь, что это только применяется к таблицам в форме), и все выглядит красиво, а главное работает! Теперь этот процесс относительно медленный (пара секунд на некоторых формах), слишком медленный, чтобы запускаться каждый раз при открытии формы. Итак, возраст a go Я нашел способ заставить Access сохранить дизайн, включая «Условное форматирование»:

DoCmd.RunCommand (acCmdDesignView)
Forms!PrePlanner!BtnHelp.Caption = "Help"
DoCmd.Save acForm, "PrePlanner"
DoCmd.Close acForm, "PrePlanner", acSaveYes

Это отлично работает с некоторыми формами, но не работает с другими !!

Сначала я подумал, что это как-то связано с подформами, так как он НЕ работал со всеми формами, которые имеют подформы, а те, над которыми он работал, не имели подформ ... Поэтому я скопировал одну из простых подформ ( недавно созданная форма), которая может открываться как обычная форма, внесены изменения в цвета, открыта форма ТЕСТ, цвета обновлены, как ожидалось, форма закрыта с помощью приведенного выше кода, и форматирование НЕ СОХРАНЕНО! :( (Если я изменю кнопку «Справка», чтобы сказать «Помогите!», Это изменение будет сохранено)

Формы, которые не сохраняются с помощью приведенного выше кода, также являются самыми последними формами, которые я разработал, которые сохраняются, - это более старые формы (им пару лет, разработанные на другом компьютере, но с той же версией Access). Я скопировал одну из этих старых форм, изменил цвета, et c et c, и это ДЕЙСТВИТЕЛЬНО сохранено !!!

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

Заранее спасибо

.... Я забыл сказать, что использую Access 2016 на 64-битной машине Windows 10.

Дополнительная информация .

Поигравшись сегодня утром, я создал новую форму (с нуля), настроив записи так, чтобы можно было применить условное форматирование, и т. Д. c. Открыл новую форму условное форматирование. обновлено, форма закрыта и сохранена. При повторном открытии новой формы все было в порядке, условное форматирование было сохранено. Затем я добавил подформу и попытался снова, условное форматирование было обновлено, из закрытого, НО на этот раз без сохранения условного форматирования !! Затем я удалил подформу и повторил тест, на этот раз условное форматирование было сохранено. Условное форматирование не сохраняется? Это странность в Access?

Еще раз спасибо.

1 Ответ

0 голосов
/ 10 мая 2020

Пробовали ли вы запустить свой код, чтобы применить форматирование, пока форма находится в режиме конструктора? Похоже, что условное форматирование и свойства не сохраняются при обновлении через VBA, пока форма находится в обычном режиме просмотра. Мне посчастливилось повторно открыть форму в дизайне, запустить код и затем сохранить форму.

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