2012-05-17 2 views
8

MS Access 2010, Win 7 на обычной форме
Я не намеренно размещал какие-либо элементы ActiveX или OLE .. даже не знаю, что они собой представляют. Но в любом случае, всякий раз, когда я помещаю что-то в код определенной формы, он говорит:
«Выражение XXXXX, введенное в качестве параметра свойства события, вызвало следующую ошибку: возникла проблема, когда MyDB общался с OLE-сервером или Active X ControlСвязь с сервером OLE или элементом управления ActiveX

Не имеет значения, что я ввел в код формы, это происходит. У меня был пустой Form_Current() ТОЛЬКО, который все еще срабатывал. В форму много форматирования и работы, я бы предпочел не ломать он .. Если я оставил окно кода полностью пустым (только Option Compare Database), он не отключает ошибку, но тогда моя форма бесполезна.

Я видел, что об этом было языковой проблемой, но мой другие формы (с использованием тех же самых методов кода и большинства одного и того же кода) в порядке и это английский доступ с ПК на английском языке. Идеи?

зачетом Код ошибки:

Private Sub Form_Current() 
End Sub 

серьезно.

ответ

4

Проверьте отсутствие ссылок. Сделайте резервный, декомпилирующий, компактный ремонт &, и если это не сработает, скопируйте все в новый db (http://www.granite.ab.ca/access/corruptmdbs.htm) Возможно, вам придется пропустить копирование проблемной формы. Иногда стоит создать новую форму, выбирая все элементы управления из старой формы и вставляя их в новую форму.

+0

Возможно, это проблема с некоторыми коррумпированными материалами в БД? Я знаю, что добавление вкладки к этой форме в представлении макета разбилось на доступ пару раз, но в режиме дизайна все получилось хорошо. Может быть, в форме есть какие-то гремлины (у вас не было других проблем). Я сделаю резервную копию формы и попробую новую. – StuckAtWork

+0

Да, это так. Я нахожу, что коррупция в дизайне гораздо менее вероятна с разделенной базой данных. – Fionnuala

+0

Разделение не было действительно необходимым; База данных предназначена для 1-2 человек 1-2 раза в год. Но это устранило проблему; Я переписываю форму (еще не полностью, но в основном). Кажется, это работает. Благодаря! Хотелось бы заметить, что мне не нужно было полностью переделывать всю базу данных, просто удаляю/переделываем форму. Не изменил ничего о том, как я это сделал, но .. MS снова ударяет, я думаю? – StuckAtWork

0

вы можете изменить язык, чтобы попробовать, шаги являются следующие: 1, команда Открыть окно, запустить «intl.cpl» 2, выберите административный элемент, изменить параметры языка системы.

Надеюсь, что может вам помочь.

20

Я столкнулся с той же проблемой, и я пробовал много вещей, единственное (и самое быстрое) решение, которое сработало, состоит в том, чтобы сделать следующее: 1) Закройте форму, вызывающую ошибку. 2) Переименуйте эту форму. 3) Дублируйте его: скопируйте, затем вставьте, вам будет предложено задать имя для новой формы. Дайте ему оригинальное имя. 4) Удалите исходную форму, вызывающую ошибку. 5) Откройте вставную форму, и она будет работать нормально. Это решение отлично работает с моей базой данных ... С уважением ...

+0

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

+0

Отличное решение. Благодаря! – jpussacq

+0

Это сработало для меня. Очень быстро - спасибо, что спасли мне много хлопот! – Idios

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