Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > как "корректно" открыть Access?


Автор: Baloo 16.11.2005, 23:08
Добрый вечер!
Собстно Аксес (точнее конкректная база) открывается без проблем:
Код

Dim objMDBApp
Dim objMDBDatei
    Set objMDBDatei = GetObject("Путь к базе - *.mdb")
    Set objMDBApp = objMDBDatei.Parent
    objMDBApp.Visible = True
Set objMDBDatei = Nothing
Set objMDBApp = Nothing

НО, вот при исполнении последней строки кода Set objMDBApp = Nothing окошко с Аксесом просто закрывается/исчезает! smile
Т.е. в общем то все работает, но если не очищать переменную objMDBApp - потом вылазят некрасивые мелкыя глюки.

C уважением, Balooo

Автор: Akina 17.11.2005, 10:14
Все абсолютно верно. Очистка переменной вызывает разрушение объекта, на который нет референсов, и соответственно закрытие приложения.

Нужно независимое существование? используй shell.

Автор: Baloo 17.11.2005, 13:12
точно! smile спасибо, Akina, что напомнил про референсы!

а я то смотрел на пример с екселем - где все работает нормально, но там то - есть ссылка8)

через shell - все зашуршало как надо, еще раз СЭНКС!

Автор: kulibin 20.11.2005, 14:34
Странно. Не понял про референсы и аксес так не открывал. Но с Excel всё работает как часы у меня - и после set exl=nothing ничего не закрывается smile
Токо я его не просто открываю - я данные в него писаю. И не в сохранённый файл а во вновь созданный. Т.е. в этом разница?

Автор: Akina 20.11.2005, 23:35
kulibin
СОМ-сервер и Jet-клиент - это как бы две большие разницы...

Автор: kulibin 21.11.2005, 00:17
Загадочно smile
Ладно - любопытно конечно - но мне это наверное не надо. Не буду надоедать глупыми вопросами без особой надобности smile

Автор: Bison 22.11.2005, 13:40
Добрый вечер!
Я создал 3 таблиц на Access 1997(преобразованный) и установил связи между этими таблицами. Сохранятся ли связи при переводе моих таблиц в среду Visual Basic.
smile
Добавлено @ 13:40
Добрый вечер!
Я создал 3 таблиц на Access 1997(преобразованный) и установил связи между этими таблицами. Сохранятся ли связи при переводе моих таблиц в среду Visual Basic.
smile

Автор: kulibin 22.11.2005, 14:03
Вопрос странный какой-то. Может только для меня smile ?
Ну а куда же денутся связи твои? smile Превратятся в тыкву ? smile
Может я не сильно понял термина
Цитата(Bison @ 22.11.2005, 13:40)
при переводе моих таблиц в среду Visual Basic

Но я представляю так этот процесс: база останется там где была и такой как была! Просто пользовать ты будеш её из vb.
Сама то база данных не "переводится" никуда smile
Просто из vb ты будеш к ней подсоединяться и выбирать из неё данные или их изменять/добавлять/удалять, саму структуру данных изменять и т.п.
При этом все отношения между таблицами и условия целостности данных естественно те же что и если в Access-е базу открыть.
Т.е. если ты посредством vb удаляеш запись из таблицы которую нельзя удалить по условиям целостности данных - vb выдаст сообщение об ошибке с соответствующей информацией. Конечно это сообщение можно отследить в коде и выводить юзеру сообщение на русском - так мол и так - не балуйтесь и т.п.
Однако целостность данных можно контролировать и самому в коде на vb. Токо этот способ менее надёжный чем на уровне связей в ДБ.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)