| imho.ws |
![]() |
|
|
|||||||
|
Сообщения:
Перейти к новому /
Последнее
|
Опции темы |
|
|
# 1 |
|
Member
Регистрация: 12.07.2004
Адрес: Очень странное место.
Сообщения: 328
![]() ![]() |
Параметры запуска. Перезапуск формы. Access. VBA.
Доброго времени суток.
Пара вопросов: 1. В аксесе есть возможность настраивать параметры запуска. Случайно выделил не то что надо (стандартные опции меню запртил). В результате хочу их вернуть, но... неоткуда. Вкладка сервис (Tools) исчезла =( 2. Есть форма. при ее закрытии я проверяю есть ли еще какие то открытые формы. Если нету - ее надо снова открыть или не позволить ей закрытся. Это возможно ? Изначально писалось как : Код:
Private Sub Form_Close() If All_Not_Loaded() Then DoCmd.OpenForm "start_form" End If End Sub Function All_Not_Loaded() As Boolean Dim res As Boolean res = False For Each i In Forms If IsLoaded(i.name) Then res = True End If Next i All_Not_Loaded = res End Function Подскажите как с этим боротся, пожалуста. С уважением. Ворон. C 1. выяснил достаточно удерживая shift запустить =) Подскажите 2е ? Последний раз редактировалось Raven B.; 09.11.2005 в 13:17. Причина: По неясной причине запостил нетот кусок кода. |
|
|
|
|
# 2 |
|
Member
Регистрация: 12.07.2004
Адрес: Очень странное место.
Сообщения: 328
![]() ![]() |
Интересный момент.
При таком коде : 1. при закрытии формы все закрывается. и ничего не открывается. 2. при закрытии апликации (аксеса самого тоесть) форма начинает бесконечно перезапускатся и жрет 99% процессорного времени. В общем получилось с точностью до наоборот
|
|
|
|
|
# 5 | |
|
Junior Member
Регистрация: 16.10.2002
Адрес: Россия-матушка
Пол: Male
Сообщения: 96
![]() ![]() |
Цитата:
P.S. В твоем коде All_Not_Loaded() всегда будет True возвращать, она же вызывается из еще открытой формы ![]() P.P.S. А вот обещаный код: Код:
Public Function LI_SetPropertyToObject(obj As Object, pname As String, pvalue, ptype, _
Optional doCheckPropVal As Boolean = True) As Boolean
' Создает или модифицирует свойство с именем pname объекта obj.
' Тип свойства указывается параметром ptype, значение свойства -- параметром pvalue.
' Если параметр doCheckPropVal = True, то функция будет изменять значение указанного
' свойства только если оно отличается от pvalue.
' См. справку по функции CreateProperty() для допустимых значений параметра ptype.
' Возвращаемое значение:
' False, если свойство уже существовало и его значение не было изменено,
' True, если свойство не существовало и было создано этой функцией,
' или значение свойства было изменено.
' При возникновении ошибок возникшие ошибки будут выкинуты вызвающей функции
Dim prpNew As Property
Dim errLoop As Error
Dim retv As Boolean
retv = False
On Error GoTo Err_Property
If doCheckPropVal Then
If obj.Properties(pname) = pvalue Then
GoTo func_exit
End If
End If
DoAssignVal:
obj.Properties(pname) = pvalue
retv = True
On Error GoTo 0
func_exit:
LI_SetPropertyToObject = retv
Exit Function
Err_Property:
' Ошибка 3270 означает, что свойство не найдено.
Const conPropNotFoundError = 3270
If Err = conPropNotFoundError Then
' Создает свойство, задает его значение и добавляет
' свойство в семейство Properties.
Set prpNew = obj.CreateProperty(pname, ptype, pvalue)
obj.Properties.Append prpNew
Resume DoAssignVal
Else
' При возникновении другой ошибки выкидываем её вызывающей функции
Err.Raise Err.Number
End If
End Function
Sub My_DoChangeAllowBypassKey()
Const prpname = "AllowBypassKey", prpvalue As Boolean = True
Const dbpath = "C:\temp\test.mdb"
Dim dbs As database
Set dbs = OpenDatabase(dbpath)
LI_SetPropertyToObject dbs, prpname, prpvalue, dbBoolean
End Sub
__________________
1 миллибайт = 1/1024 байта Последний раз редактировалось LightImage; 10.11.2005 в 17:22. Причина: добавление полезной инфы |
|
|
|
|
|
# 6 | |
|
Junior Member
Регистрация: 16.10.2002
Адрес: Россия-матушка
Пол: Male
Сообщения: 96
![]() ![]() |
Про shift не заметил что ты уже решил, извиняй =)
Цитата:
Код:
Private Sub Form_Unload(Cancel As Integer)
Cancel = (Forms.Count <= 1)
End Sub
__________________
1 миллибайт = 1/1024 байта |
|
|
|
|
|
# 7 | ||
|
Member
Регистрация: 12.07.2004
Адрес: Очень странное место.
Сообщения: 328
![]() ![]() |
Цитата:
Цитата:
Но проблема с формой осталась =( Тоесть если у меня эта форма одна осталась бд. я не закрою. С этим можно как то боротся или это никак нельзя обойти (что бы при попытке закрыть аксес он все же закрывался.)
|
||
|
|