Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
1

Ошибка "Application-defined or object-defined error" 2467

28.03.2018, 00:48. Показов 1730. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создаю коллекцию копий формы
Закрываю Экземпляр_2.
Экземпляр_2 закрыт.
Удаляю Экземпляр_5
Ошибка: "Application-defined or object-defined error 2467"

Вопрос
Как устранить ошибку?

Ссsлка на gif - ссылка

Код
Создать формы

Кликните здесь для просмотра всего текста
Visual Basic
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
34
35
36
37
38
39
40
41
42
43
Private Sub Кнопка2_Click()
        
        Dim рстФрмСпрч As DAO.Recordset
        Dim рстСпсФрм As DAO.Recordset
        
        Set рстФрмСпрч = CurrentDb.OpenRecordset("тбл_ФрмСпрч", dbOpenDynaset) ' *** тбл_ФрмСпрч. Справочник форм.
        Set рстСпсФрм = CurrentDb.OpenRecordset("тбл_СпсФрм", dbOpenDynaset)  ' *** тбл_СпсФрм. Список открытых форм
         
                 ' Поиск первой отмеченной записи
                 рстФрмСпрч.FindFirst "Фл1Спрч = true"
                
                 ' Проверка. Выбраны ли записи в таблице
                 If рстФрмСпрч.NoMatch Then
                    MsgBox "Не выбрано ни одной `Формы`"
                    
                    Exit Sub
                 End If
                 
                 Do While Not рстФрмСпрч.NoMatch
                        
                            рстСпсФрм.AddNew
                        
                            рстСпсФрм!ЗглФрмПнлСрвн = рстФрмСпрч!ИмяФрмСпрч
                            frmPnlName = рстФрмСпрч!ИмяФрмСпрч
                        
                        ' Создать экземпляр формы
                        KeepNewFormClonePnl(New Form_ФрмШбл, frmPnlName).Visible = True
                        
                        ' Поиск "следующей" записи
                        рстФрмСпрч.FindNext "Фл1Спрч = true"
            
                        рстСпсФрм.Update ' обновить таблицу
                        Me![фрм_СпсФрм].Requery  ' обновить форму
                        
                        Debug.Print "`" & frmPnlName & "` форма создана "
                        
                  Loop
                        ' !!! Инфо сообщение
                        Debug.Print " "
                        Debug.Print "XXX"
                        Debug.Print "Формы созданы"
                        Debug.Print " Коллекция сollFrm  содержит `" & сollFrm.Count & "` - шт. форм"
End Sub



Закрыть выбранные формы

Кликните здесь для просмотра всего текста
Visual Basic
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
34
35
36
37
38
Private Sub Кнопка6_Click()
      Dim strTest As String
        
        Set рстСпсФрм = CurrentDb.OpenRecordset("тбл_СпсФрм", dbOpenDynaset)  ' *** тбл_СпсФрм. Список открытых форм
                  
                    ' Поиск первой выбранной записи
                         рстСпсФрм.FindFirst "Выдел = true"
                         
                         If рстСпсФрм.NoMatch Then
                            MsgBox "Не выбрано ни одной `Формы`"
                            Exit Sub
                         End If
                         
                         Do While Not рстСпсФрм.NoMatch
                                     
                                     ' *** For Each ***. Перебираем коллекцию открытых форм
                                            For Each f In сollFrm
                                                        strTest = f.Caption
                                                    If f.Caption = рстСпсФрм!ЗглФрмПнлСрвн Then
                                                            f.SetFocus
                                                            DoCmd.Close
                                                            
                                                          ' !!! Инфо сообщение. Общее инфо поле
                                                            Debug.Print "`" & рстСпсФрм!ЗглФрмПнлСрвн & "` форма скрыта"  ' ___
                                                            
                                                          рстСпсФрм.Delete
                                                          Me![фрм_СпсФрм].Requery
                                                          
                                                          Exit For
                                                    End If
                                                                                                 
                                            Next
                                
                                ' Поиск "следующей" записи
                                рстСпсФрм.FindNext "Выдел = true"
                                
                          Loop
End Sub



Module1
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Option Compare Database
 
Public сollFrm As New Collection ' Коллекция `Форм`
Public osnPnl As Form
 
 
' ### Создание форм ###
Public Function KeepNewFormClonePnl(frm As Form, frmPnlName) As Form
    On Error GoTo Err_KNFC
  
         сollFrm.Add frm
         
         Set KeepNewFormClonePnl = frm
        
         frm.Form.Tag = CStr(frmPnlName)
         frm.Form.Caption = CStr(frmPnlName)
    
    Exit Function
Err_KNFC:
     Err.Raise Err.Number
End Function
Вложения
Тип файла: rar Ошб2467_00_00.rar (32.0 Кб, 9 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2018, 00:48
Ответы с готовыми решениями:

Access выдает ошибку application-defined or object-defined error
Доброго времени суток!!! Прошу помощи ибо поиск по форуму так и не помог((( При выполнении кода...

При создании экземпляра формы появляется ошибка "User-defined type not defined"
Использую Access - 2016 x64 Пробую создать экземпляр формы Private Sub Кнопка5_Click() ...

При создании Recordset появляется ошибка "User-defined type not defined"
Private Sub Кнопка4_Click() Dim rstTable1 As DAO.Recordset ' Set rstTable1 =...

Ошибка при нажатии на кнопку "User-defined type defined"
Нет, ну что за фигня, а? И так постоянно. Уже сил нет. Кучу примеров нашёл в интернете...

3
295 / 256 / 68
Регистрация: 18.06.2015
Сообщений: 570
28.03.2018, 10:42 2
Из коллекции ссылку на окно не удалили.
1
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 730
28.03.2018, 11:21  [ТС] 3
MrShin,
А как удалить для "For Each"?
Что-то пробую... не получается

Вводить индекс
И
Visual Basic
1
MyCol.Remove(1)
?
0
295 / 256 / 68
Регистрация: 18.06.2015
Сообщений: 570
28.03.2018, 12:20 4
Лучший ответ Сообщение было отмечено zakaz_77 как решение

Решение

Переделал принцип использования коллекции, так проще и быстрее. Вы не использовали большое преимущество коллекции - ключ, не надо его весь перебирать, чтобы найти нужный элемент
Вложения
Тип файла: zip Ошб2467_00.00.mdb.zip (28.3 Кб, 10 просмотров)
1
28.03.2018, 12:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2018, 12:20
Помогаю со студенческими работами здесь

Access ошибка compile error variable not defined
Два часа голову ломаю. Есть рабочий код (небольшой). Лн везде работает кроме одного проекта,...

Ошибка Access: Compile Error: User-Defined type not devined
Проблема в следующем: Задаю переменную Dim dbs As Database Dim rst As Recordsetи он, гад, вот...

Сообщение об ошибке User-defined type not defined
Постоянно выдается ошибка User-defined type not defined на строчке DIM ctlg As New ADOX.Catalog

Ошибка: run time error 1004 vba excel application-defined or object-defined error
Здравствуйте, выполняла задание, редактировала макрос, но выдает ошибку run time error 1004 vba...

Ошибка в коде: 'Run-time error '1004': Application-defined or object-defined error'
Помогите разобраться что здесь не так: Sub ProtectWorksheet() Worksheets(1).Protect...

Ошибка 1004 Application-defined or object-defined error access
Всем доброго дня, не могу понять в чем проблема. В ACCESS создаю таблицу, и через VBA скидываю...

Ошибка при создании диаграммы (Application defined or object defined error 1004)
Добрый день. Пытаюсь создать диаграмму,но выдает ошибку Application defined or object defined...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru