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

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

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

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

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

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

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

А чем посоветуете?
...
Рейтинг: 0 / 0
22.09.2010, 19:31
    #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
Период между сообщениями больше года.
29.10.2015, 11:13
    #39089743
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скрыть окно базы данных
tshark DoCmd.RunCommand acCmdWindowHide Надо только уточнить, что эта команда скрывает не конкретно окно базы, а любое активное окно в текущий момент. Т.е. сначала надо сделать активным окно БД, а потом применять команду.
Ну сделать то активным можно и командой
Код: vbnet
1.
   DoCmd.SelectObject acTable, , True

но желательно проверить, видимо ли в данный момент окно БД или нет. А как это сделать я пока не сообразил.
...
Рейтинг: 0 / 0
29.10.2015, 11:51
    #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
29.10.2015, 12:39
    #39089892
RVI
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
29.10.2015, 12:41
    #39089896
RVI
RVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скрыть окно базы данных
Ой, пардон, не внимательно прочитал - тебе определить надо видимо оно или нет...
А хотел помочь...
...
Рейтинг: 0 / 0
29.10.2015, 12:47
    #39089917
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скрыть окно базы данных
RVIJossНо вопрос по определению видимости окна БД остаётся.
Код: sql
1.
ChangeProperty "StartupShowDBWindow", dbBoolean, False ' это то, что тебе нужно

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

Кроме того, вопрос ТС, если правильно понимаю, о состоянии окна БД в текущий момент.
Как это узнать.
...
Рейтинг: 0 / 0
29.10.2015, 13:15
    #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
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / скрыть окно базы данных / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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