Я подключаюсь к БД MS Access, используя vb.net, как указано ниже ...
oDBEngine = oAccess.DBEngine oDB = oDBEngine.OpenDatabase (Name: = strFullFileName, Options: = False, ReadOnly: = False, Connect: = "")
А затем открываем БД с помощью следующего синтекса ...
oAccess.OpenCurrentDatabase (путь к файлу: = strFullFileName, Exclusive: = False)
Теперь моя проблема:
Одна из БД содержит форму, которая открывается автоматически, когда мы открываем БД. Поэтому, когда я пытаюсь запустить приложение для этой конкретной БД, открывается БД. Но согласно моему требованию мне не нужно явно открывать БД.
Есть ли способ ограничить открытие БД в таких случаях?
ПРИМЕЧАНИЕ. Это отлично работает для всех других сценариев, т.е.БД не открывается, но я могу подсчитывать элементы управления Activex из каждой формы в соответствии с требованиями моего приложения.
Ой. Не читал внимательно. Почему вы открываете базу данных? Вам нужно запускать формы или вы просто пытаетесь получить доступ к данным? В последнем случае не открывайте базу данных, а используйте OLEDB или какой-либо другой интерфейс базы данных для доступа к данным.





В вашем предыдущем посте по этой теме: Как предотвратить открытие базы данных MS Access при чтении данных из форм я предлагал импортировать формы в пустую базу данных, вы не упомянули, почему этот вариант не подходит, и мне любопытно, почему.
Спасибо за ваши ценные советы. Но невозможно скопировать из одного места в другое и создать новую БД, потому что клиент может не дать разрешения сделать это, а также в случае Huse DB это может быть нецелесообразно. Любой другой способ сделать это ...
Вы можете попробовать «программно нажать клавишу Shift» через API:
Вы подключаетесь к базе данных Jet, а не к базе данных Access, поскольку только Access может использовать объекты Access. Вы используете только таблицы данных, то есть только Jet.