MyTetra Share
Делитесь знаниями!
удалить запрос по типу
Время создания: 16.03.2019 23:43
Текстовые метки: VBA, DAO, QueryDefs.Delete, УДАЛИТЬ ЗАПРОС
Раздел: !Закладки - VBA - Access - DAO
Запись: xintrea/mytetra_db_adgaver_new/master/base/1530989273zv7ko6b266/text.html на raw.githubusercontent.com

'======================================================================================

'##### удалить запрос по типу

'

'Sub test_FnDelUpdQuery()

'Dim strPathDb As String

'Dim oDb As DAO.Database 'база с итоговыми таблицами

'    strPathDb = w_other.Fn_StrLastPathRead("PathDb")

'    Set oDb = OpenDatabase(strPathDb)

'    Call FnDelUpdQuery(oDb)

'End Sub

'--------------------------------------------------------------------------------------

Sub Del_Query_in_Type(ByVal db As DAO.Database, _

                    ByVal intType As Integer)

'http://www.cyberforum.ru/ms-access/thread1513856.html

'Можно и так. Надо построить цикл по всей коллекции QueryDefs, _

сравнить с известным типов запросов Update, это тип=48, _

удалить их и обновить коллекцию QueryDefs. Цикл надо строить _

в обратном порядке от большего номера к меньшему.

'6 Удаление -32

'5 Перекрестный -16

'4 Обновление -48

'3 Добавление -64

'2 Создание таблица - 80

'1 Выборка -0

Dim qdf As QueryDef, i

    For i = db.QueryDefs.Count - 1 To 0 Step -1 'Цикл по коллекции запросов

        Set qdf = db.QueryDefs(i)               'Создание вспомогательного объекта коллекции

        Debug.Print qdf.Name & " - " & qdf.Type 'Распечатка имен запросов и их типов

        If qdf.Type = intType Then              'Проверка на нужный тип запросов

            db.QueryDefs.Delete qdf.Name        'Удаление объекта из коллекции

        End If

    Next

    db.QueryDefs.Refresh                        'Обновление все коллекции запросов

End Sub

Sub Del_Query_in_Name(ByVal db As DAO.Database, _

                    ByVal strQueryName As String)

Dim qdf As QueryDef, i

    For i = db.QueryDefs.Count - 1 To 0 Step -1 'Цикл по коллекции запросов

        Set qdf = db.QueryDefs(i)               'Создание вспомогательного объекта коллекции

        Debug.Print qdf.Name & " - " & qdf.Type 'Распечатка имен запросов и их типов

        If qdf.Name = strQueryName Then         'Проверка по имени

            db.QueryDefs.Delete qdf.Name        'Удаление объекта из коллекции

        End If

    Next

    db.QueryDefs.Refresh                        'Обновление все коллекции запросов

End Sub

'======================================================================================

 

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования