powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / GetObject() как отвязать объект от родительского приложения?
9 сообщений из 34, страница 2 из 2
GetObject() как отвязать объект от родительского приложения?
    #32415746
ShellExecute
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у вас скорее всего настрока запуска по умолчанию "только чтение"

авторПараметры командной строки

Следующая таблица содержит список параметров командной строки Microsoft Access.

Параметр Результат
базаДанных Открытие файла указанной базы данных. При необходимости, укажите путь к этому файлу.
/Excl Открытие указанной базы данных с монопольным доступом. Чтобы открыть базу данных для общего доступа в многопользовательской среде, опустите данный параметр.
/Ro Открытие указанной базы данных с доступом только для чтения.
/User имяПользователя Запуск Microsoft Access с указанным именем пользователя.
/Pwd пароль Запуск Microsoft Access с указанным паролем.
/Profile конфигурация Запуск Microsoft Access с параметрами указанной конфигурации пользователя, вместо стандартных параметров реестра Windows, записанных при установке Microsoft Access. Данный параметр заменяет параметр /ini, использовавшийся в предыдущих версиях Microsoft Access для указания файла инициализации. Однако параметр /ini будет по-прежнему работать для пользовательских файлов .INI из предыдущих версий Microsoft Access.В комплекте Microsoft Access Developer’s Toolkit содержатся средства создания конфигурации пользователя и их описание. Для получения дополнительных сведений нажмите кнопку .
/Compact результирующийФайл Сжатие базы данных, указанной перед параметром /Compact и закрытие Microsoft Access. Если опустить имя результирующего файла базы данных после параметра /Compact, база данных после сжатия записывается в файл с тем же именем. Для сохранения сжатого файла под другим именем необходимо указать имя результирующего файла.
/Repair Восстановление указанной базы данных и закрытие Microsoft Access.
/Convert результирующийФайл Преобразование базы данных предыдущей версии в формат базы данных Microsoft Access 97 под новым именем и закрытие Microsoft Access. Исходная база данных задается перед параметром /Convert.
/X макрос Запуск Microsoft Access с одновременным запуском указанного макроса. Другой способ запуска макроса при открытии базы данных заключается в использовании макроса AutoExec.
/Cmd Задание в командной строке значения, возвращаемого функцией Command. Этот параметр должен быть последним параметром командной строки. Вместо параметра /Cmd допускается использование точки с запятой (;).Для получения дополнительных сведений о функции Command нажмите кнопку .
/Nostartup Запуск Microsoft Access без вывода стартового диалогового окна (второго диалогового окна, которое видит пользователь при запуске Microsoft Access).
/Wrkgrp
файлРабочейГруппы Запуск Microsoft Access с использованием указанного файла рабочей группы.

авторAccesspath = ACC.Application.SysCmd(acSysCmdAccessDir) & "msaccess.exe" - Сэнкс. Закоплю (обычно теряется). Находил неоднократно :0)

Вопросы на засыпку: сколько может быть установлено аксов? Какой из них найдется как "MSACCESS.EXE" ? :0)
...
Рейтинг: 0 / 0
GetObject() как отвязать объект от родительского приложения?
    #32417087
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
найдется тот который запустился по getobject() ))
...
Рейтинг: 0 / 0
GetObject() как отвязать объект от родительского приложения?
    #32417157
ShellExecute
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
откуда такая уверенность?

А если я делаю конкретно:
CreateObject("Access.Application.8")
т.к. у меня стоит еще Access.Application.9 ... Access.Application.ХХХ

так какой из них запустится ПРОСТО как "MSACCESS.EXE" ? (из Shell )

(не уверен, что любой запуск любого аксесса перепишет реестр нужным образом). а предложенный вариант {Accesspath = ACC.Application.SysCmd(acSysCmdAccessDir) & "msaccess.exe"} вернет, похоже, что нужно - путь именно к исполняемому в настоящий момент экзешнику. (Или я ошибаюсь?)
...
Рейтинг: 0 / 0
GetObject() как отвязать объект от родительского приложения?
    #32417246
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, все правильно: ACC.Application.SysCmd(acSysCmdAccessDir) & "msaccess.exe - это конечно более надежный способ.
...
Рейтинг: 0 / 0
GetObject() как отвязать объект от родительского приложения?
    #32417328
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
странно, но опытным путем выяснил, если подержаться руками за открытый програмно Access.Application (просто щелкнуть в его окно), то он не закрывается после закрытия родителя. после этого обнаружил, что после

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Public Function assa()
Dim res As Boolean
Dim sStamp, lStamp, nAcc As Access.Application
Dim sName As String, lName As String

        Set nAcc = CreateObject( "Access.Application.8 ")
        'Stop
        nAcc.OpenCurrentDatabase "C:\assa\ReCode.mdb"
       ' DoEvents
        'Stop
        Set nAcc = Nothing
        Application.Quit
        Exit Function
        '__________
End Function

, если в вызываемом приложении по умолчанию запускается форма, то оно висит (собирался делать nAcc.Screen.ActiveForm.SetFocus, но не понадобилось) вполне нормально после закрытия вызова. Сейчас попробую в 2000
...
Рейтинг: 0 / 0
GetObject() как отвязать объект от родительского приложения?
    #32417359
Фотография SergeySV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так это наверное у тебя Acc97....?!

У него раньше была нестандартная реакция на Nothing после Create/Get Object , он любил висеть :)

С 2000 все поменялось.
...
Рейтинг: 0 / 0
GetObject() как отвязать объект от родительского приложения?
    #32417370
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там похуже:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Public Function assa()
Dim res As Boolean
Dim sStamp, lStamp, nAcc As Access.Application
Dim sName As String, lName As String

        Set nAcc = CreateObject( "Access.Application.9 ")
        'Stop
        nAcc.OpenCurrentDatabase "C:\assa\ReCode2k.mdb"
        nAcc.Visible = True
        'Stop
        Set nAcc = Nothing
        Application.Quit
        Exit Function
        '__________
End Function

И, главное, если потом просто закрыть стартовую формочку - эта падла (аппликейшен 9) захлопнется целиком, а вот если создать какой объектик - то вроде не станет .



ЗЫ В списке процессов с 97 все в порядке - просто если передать до закрытия в него фокус (просто перйти после Stop руками, то он не закрывается (а ведет себя как4 нормально руками созданный), в отличии от 2000, а в 2000 надо еще и поработать, чтобы он закрываться не начал (перестал). Вот что именно напрочь отобьет ему охоту к закрытию, я пока не выяснил, но покуда открыта стартовая форма, он точно не закрывается)
...
Рейтинг: 0 / 0
GetObject() как отвязать объект от родительского приложения?
    #32417379
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно, что если сделать так
Set nAcc = CreateObject("Access.Application.8")
nAcc.Visible = true
то для того чтобы оставить 97 на экране не достаточно просто кликнуть окно, а нужно открыть какой-нибудь диалог, например About или Open
...
Рейтинг: 0 / 0
GetObject() как отвязать объект от родительского приложения?
    #32417404
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2guest

действительно nAcc.Visible = True в 97 чуть меняет поведение окна. В случае открытия в вызванном приложении формы (в параметрах запуска), оно все таки остается открытым, но при закрытии окна б.д. (видимо - после закрытия последнего подчиненного окна объекта Screen) станет закрываться (без nAcc.Visible = True - не закрывается и после закрытия окна б.д).
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / GetObject() как отвязать объект от родительского приложения?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]