Программирование на Visual Basic | Microsoft Access. Управление счетчиком таблиц

В этом разделе сайта находятся примеры из сборника программ "Архив файлов на Microsoft Access". В нем рассказывается о программировании форм, отчетов, таблиц и других объектов. Используйте этот архив для изучения работы с приложением Microsoft Office Access и программированием на Visual Basic for Application. Тем кто уже знаком с VBA, используйте поиск для нахождения кодов. Наберите, например, DAO, ADO, Recordset и найдете нужную ссылку для решения проблемы с программированием

Microsoft Access. Управление счетчиком таблиц

04. Для управления счетчиком в таблицах можно использовать эти функции

Private Sub butExecute_Click()
Dim idx As Index, fld As Field
        
        On Error Resume Next
        'Удаляем все лишнее
        tdf.Indexes.Delete "PrimaryKey" 'Удаляем индекс
        tdf.Indexes.Refresh 'Сохраняем изменение
        tdf.Fields.Delete "Код" 'Удаляем поле
        tdf.Fields.Refresh 'Изменяем таблицу
        Err.Clear 'Очищаем от ошибки, если нет поля
        
        On Error GoTo 999
       'Создаем поле "Счетчик" с новыми значениями
        Set fld = tdf.CreateField("Код") 'Создание
        fld.Type = dbLong 'Тип поля
        fld.Properties("Attributes") = dbAutoIncrField 'Назначение атрибутов счетчика
        tdf.Fields.Append fld 'Добавить поле
        tdf.Fields.Refresh 'Изменяем таблицу
        
        
        'Создаем индекс
        Set idx = tdf.CreateIndex("МойИндекс") 'Создаем индекс
        idx.Fields.Append idx.CreateField("Код") 'Добавляем поле в индекс
        idx.Name = "PrimaryKey" 'Изменение имени индекса
        idx.Primary = True      'Атрибут ключа
        tdf.Indexes.Append idx  'Добавить индекс
        tdf.Indexes.Refresh     'Сохраняем индекс
        
        'Сообщение
        MsgBox "Создан новый счетчик 'Код'!", vbInformation
    Exit Sub
999:
    MsgBox Err.Description, vbCritical, "Создание поля"
    Err.Clear
End Sub

'==============================================================
'   Удаляем поле и индекс
Private Sub butDelete_Click()
    On Error Resume Next
    tdf.Indexes.Delete "PrimaryKey" 'Удаляем индекс
    tdf.Indexes.Refresh 'Сохраняем изменение
    Err.Clear
    
    MsgBox "Индекс PrimaryKey удален!", vbInformation
End Sub

Добавить комментарий

Loading