powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Модули класса в надстройки
19 сообщений из 19, страница 1 из 1
Модули класса в надстройки
    #34493716
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал сделать простейший пример работы с модулем класса - не работает...
При запуске db1.mdb не находит почему то frm As clsFormSpraw - пишет User-Defined type not defined . И чего не правильно?
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34493723
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример вот...
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34493760
sdfgsdfgsdf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надстройки - Диспечер надстроек
Добавить mda файл.
Но он добавится тоько в том случае, если написан по правилам и требованиям mde.
(Как точно - не скажу- Гетса читать надо )
Еще, если так не вмоч, проще клас от туд в базу перенести.
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34493773
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЕще, если так не вмоч, проще клас от туд в базу перенести.
Так в том то весь прикол, что хочу все стандартное вынести в надстройку.
авторНадстройки - Диспечер надстроек
Про это не подумал. Спасибо, сейчас попробую
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34493781
sdfgsdfgsdf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот здесь как правельно их оформить (mda)

http://am.rusimport.ru/MSAccess/f2.aspx?type=1&id=35463&find=mda
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34494197
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PalarmПопробовал сделать простейший пример работы с модулем класса - не работает...
При запуске db1.mdb не находит почему то frm As clsFormSpraw - пишет User-Defined type not defined . И чего не правильно?
Непрвильно то класс clsFormSpraw не является Public Creatable.
В приложенном примере работает.
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34494205
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то уже написать простую фразу не могу :-(
Попробую еще раз ...
"Неправильно то, что класс clsFormSpraw не является Public Creatable."
Он у вас был Private.
Почитайте обсуждениеКак использовать модули класса из других проектов VBA?
Также приложен текстовый файлик, с помощью которого вы легко сделаете свой модуль класса Public Creatable.
Установите курсор в самое начала модуля класса и выполните Insert - File, после чего удалите первые четыре строки:
Код: plaintext
VERSION  1 . 0  CLASS\nBEGIN\n  MultiUse = - 1   \'True\nEnd

Я пробовал использовать файл без этих строк, но почему-то тогда не всегда получается. Разбираться не стал.
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34494244
Сергей, проверь почту, пожалуйста...

Я
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34494324
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо большое. Я так понял, это обходной маневр. Еще такой вопрос, просто из любопытства:
Постоянно сталкиваюсь с такой фишкой: по умолчанию в проекте Access стоит ссылка Microrsoft ActiveX Data Objects2.1 Library . Некоторые процедуры при этом не работают. Например в таком куске не нравится .Edit
Код: plaintext
1.
2.
3.
4.
5.
With rstTemp
    .Edit
    !SystPathCopBase = CurrentProject.Path & "\Коп"
    !MaxCop =  10 
    .Update
End With
Но вот если переключить на Microrsoft ActiveX Data Objects2.5 Library (или 2.6) - работают. Потом переключаю обратно - то же работают. Приходится каждый раз мотылять туда - сюда. И в чем тут прикол?
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34494649
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
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.
Public WithEvents frm As Form

Public Property Set Form(Value As Form)
On Error GoTo Err_
    Set frm = Value
    frm.onClose = "[Event Procedure]"
Exit_:
    Exit Property
Err_:
    MsgBox Err.Description
    Resume Exit_
End Property

Private Sub frm_Close()
On Error GoTo Err_
Dim PromptMsg As Integer
    PromptMsg = MsgBox("Вы желаете выйти из программы?", vbYesNo)
    If PromptMsg = vbYes Then
        Close
     Else
' ************************************************
'   А здесь чего написать, чтобы форма не закрывалась?
' End, Exit Sub - все равно закрывается	
' ************************************************
    End If
Exit_:
    Exit Sub
Err_:
    Err.Clear
    Resume Exit_
End Sub
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34494792
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо было событие вешать на пользовательскую кнопку, а не кнопку закрытия. Ведь процедура закрытия все равно сработает. Но теперь другой глюк - как форму закрою, не могу открыть ее повторно. Говорит, что она уже открыта...
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34495025
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это я победил, осталось придумать, как вызвать форму из библиотеки...
PS: Я вот только не понял, я тихо сам с собою веду беседу что ли?
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34495253
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно использовать вариант с выносом всего полезного в отдельную библиотечную базу (*.mde) с ее дальнейшим подключением через Tools-References. Но здесь есть нюансы с импортом модулей класса.
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34495320
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про нюансы я уже разобрался. Не догоняю только - как вызвать форму из библиотеки. Вообще я хочу туда справочники запихать.
Если пофилософствовать: а откуда берется msgbox? Его же нет в проекте, однако же появляется. По моему, надо как то сделать библиотечную форму видимой для проектов, которые к ней подключены.
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34495368
ALEXIS_22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если библиотека подключена то обращение к ее модулям стандартное

Private perem As MyClass ' В области объявлений



В процедуре
Set Perem = New MyClass

With MyClass

далее обращение к св-м и методам класса.
end With
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34495535
Karfaqen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не догоняю только - как вызвать форму из библиотеки.Можно вызовом библиотечной функции, которая сделает это, например через DoCmd.OpenForm.
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34495698
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При подключении библиотеки проект видит только функции и процедуры из нее, а формы не видит.
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34495804
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и дурак же Я!!!! Если видны функции, значит надо написать функцию в библиотчном модуле, а в ней docmd.openForm "МуМУФорма". И на кнопку проекта вешать функцию. Как все просто оказалось то...
...
Рейтинг: 0 / 0
Модули класса в надстройки
    #34495819
Фотография Palarm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А Karfaqen то про это и говорил... Надо внимательней читать, что пишут...
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Модули класса в надстройки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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