powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / скрыть окно базы данных
18 сообщений из 18, страница 1 из 1
скрыть окно базы данных
    #33222687
asdfdsaasdf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно ли программно скрыть окно базы данных в процессе работы (Аксесс 2000, mdb), а не с момента загрузки?
...
Рейтинг: 0 / 0
скрыть окно базы данных
    #33222784
tshark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DoCmd.SelectObject acTable, , True

DoCmd.RunCommand acCmdWindowHide
...
Рейтинг: 0 / 0
скрыть окно базы данных
    #33222903
asdfdsaasdf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мучас грасьяс!
...
Рейтинг: 0 / 0
скрыть окно базы данных
    #33222940
tshark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
De nada, companero! :)
...
Рейтинг: 0 / 0
скрыть окно базы данных
    #33222960
Фотография Rafa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы отобразить окно базы данных:

Docmd.SelectObject acTable, , True
...
Рейтинг: 0 / 0
скрыть окно базы данных
    #33222968
tshark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Rafa

Спасибо за примерчики! Кстати я еще много интересного выковырял с твоего сайта.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
скрыть окно базы данных
    #36860954
Фотография -O_o-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tsharkDoCmd.SelectObject acTable, , True

DoCmd.RunCommand acCmdWindowHide
А можно ли по подробней рассказать куда и как это вставить? Понятно что в редакторе ВБА. Можно пример? Спасибо.
...
Рейтинг: 0 / 0
скрыть окно базы данных
    #36860963
Фотография GUESТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не нужно было так глубоко лазать

на днях обсуждали
...
Рейтинг: 0 / 0
скрыть окно базы данных
    #36860993
Фотография -O_o-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GUESТне нужно было так глубоко лазать

на днях обсуждали
Код: plaintext
ChangeProperty "StartupShowDBWindow", dbBoolean, False
Ну это я увидел, но я не понимаю куда его поместить. Если просто сделать как модуль то не работает. делал вот так
Код: plaintext
1.
2.
sub ssss ()
ChangeProperty "StartupShowDBWindow", dbBoolean, False
end sub
...
Рейтинг: 0 / 0
скрыть окно базы данных
    #36861035
Фотография GUESТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
займись чем-нибудь другим
...
Рейтинг: 0 / 0
скрыть окно базы данных
    #36861045
Фотография DzonyB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GUESТзаймись чем-нибудь другим

А чем посоветуете?
...
Рейтинг: 0 / 0
скрыть окно базы данных
    #36861046
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-O_o-,
функция ChangeProperty не системная. Это пример из хелпа. Ее код такой
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Public Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer
	Dim dbs As Database, prp As Property
	Const conPropNotFoundError =  3270 

	Set dbs = CurrentDb
	On Error GoTo Change_Err
	dbs.Properties(strPropName) = varPropValue
	ChangeProperty = True

Change_Bye:
	Exit Function

Change_Err:
	If Err = conPropNotFoundError Then	' Свойство не найдено.
		Set prp = dbs.CreateProperty(strPropName, varPropType, varPropValue)
		dbs.Properties.Append prp
		Resume Next
	Else
		' Неизвестная ошибка.
		ChangeProperty = False
		Resume Change_Bye
	End If
End Function
Выше же процедуру ssss переделайте в функцию, сделайте публичной (плохо помню макросы, поэтому страхуюсь) и вызывайте в макросе Autoexec или стартовой форме.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
скрыть окно базы данных
    #39089743
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tshark DoCmd.RunCommand acCmdWindowHide Надо только уточнить, что эта команда скрывает не конкретно окно базы, а любое активное окно в текущий момент. Т.е. сначала надо сделать активным окно БД, а потом применять команду.
Ну сделать то активным можно и командой
Код: vbnet
1.
   DoCmd.SelectObject acTable, , True

но желательно проверить, видимо ли в данный момент окно БД или нет. А как это сделать я пока не сообразил.
...
Рейтинг: 0 / 0
скрыть окно базы данных
    #39089815
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел первоисточник - сайт Show/Hide database window from code
Код: vbnet
1.
2.
3.
4.
5.
6.
'    To show the database window, run
        Docmd.SelectObject acTable, , True

'    To Hide the database window, run
        Docmd.SelectObject acTable, , True
        Docmd.RunCommand acCmdWindowHide

Для скрытия окна БД надо 2 команды. Прошу прощение за невнимательность.

Но вопрос по определению видимости окна БД остаётся.
...
Рейтинг: 0 / 0
скрыть окно базы данных
    #39089892
RVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossНо вопрос по определению видимости окна БД остаётся.
Эх, давненько я уже сюда не заглядывал...
Порылся в своих загашниках, вот чо нашел:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Function Ля-ля()
Dim prop As Object
ChangeProperty "StartupForm", dbText, "ИмяСтартовойФормы"
ChangeProperty "AppTitle", dbText, "Титл на форме"
ChangeProperty "StartupShowDBWindow", dbBoolean, False ' это то, что тебе нужно
ChangeProperty "AllowFullMenus", dbBoolean, False
ChangeProperty "Auto Compact", dbBoolean, True
End Function

Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer

Dim dbs As Database, prp As Property
Const conPropNotFoundError = 3270

Set dbs = CurrentDb
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True

Change_Bye:
Exit Function

Change_Err:
If Err = conPropNotFoundError Then ' Свойство не найдено.
Set prp = dbs.CreateProperty(strPropName, varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Неизвестная ошибка.
ChangeProperty = False
Resume Change_Bye
End If
End Function
...
Рейтинг: 0 / 0
скрыть окно базы данных
    #39089896
RVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой, пардон, не внимательно прочитал - тебе определить надо видимо оно или нет...
А хотел помочь...
...
Рейтинг: 0 / 0
скрыть окно базы данных
    #39089917
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RVIJossНо вопрос по определению видимости окна БД остаётся.
Код: sql
1.
ChangeProperty "StartupShowDBWindow", dbBoolean, False ' это то, что тебе нужно

Думаю, что нет.
Это параметр запуска, влияющий при следующем открытии БД.
Его изменение в текущем сеансе никак не отражается на видимости/скрытии окна БД.

Кроме того, вопрос ТС, если правильно понимаю, о состоянии окна БД в текущий момент.
Как это узнать.
...
Рейтинг: 0 / 0
скрыть окно базы данных
    #39089963
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот кто-то поделился способом определения видимости окна базы (2003) или области перехода (>=2007).
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hwndParent As Long, ByVal hwndChildAfter As Long, ByVal lpszClass As String, ByVal lpszWindow As String) As Long
Private Declare Function isWindowVisible Lib "user32" Alias "IsWindowVisible" (ByVal hWnd As Long) As Long

'  определение видимости окна базы (2003) или области перехода (>=2007)
Public Function isDbWindowVisible() As Boolean
Dim hWindow As Long
If Int(Left(SysCmd(acSysCmdAccessVer), 2)) >= 12 Then ' Access 2007 Navigation Pane
    hWindow = FindWindowEx(Application.hWndAccessApp, 0, "NetUINativeHWNDHost", vbNullString)
    hWindow = FindWindowEx(hWindow, 0, "NetUIHWND", vbNullString)
Else ' Access 20003 Database Window
    hWindow = FindWindowEx(Application.hWndAccessApp, 0, "MDIClient", vbNullString)
    hWindow = FindWindowEx(hWindow, 0, "Odb", vbNullString)
End If
isDbWindowVisible = (isWindowVisible(hWindow) <> 0)
End Function
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / скрыть окно базы данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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