Обучение программированию | Microsoft Access, Excel, Word

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

Тем кто уже знаком с VBA, используйте поиск для нахождения кодов. Наберите, например, DAO, ADO, Recordset и найдете нужную ссылку для решения проблемы с программированием

Microsoft Access. Раccкрашивание таблиц

19. Таблицу в подчиненной форме невозможно раскрасить простым способом, для этого надо знать некоторые хитрости. Посмотрите этот пример.

Private Sub Form_Open(Cancel As Integer)
On Error Resume Next
    'Назначаем цвет для всей таблицы
    Me.DatasheetBackColor = RGB(180, 210, 180)
    
    'Назначим в поле 'Дата' такое форматирование, чтобы
    'выделить дату = 20 сентября 2000 года
    With Me.Дата
        .FormatConditions.Delete 'Удаляем все условия
        'Назначение форматирования
        .FormatConditions.Add acFieldValue, acEqual, "#09/20/2000#"
        'Изменение цвета ячейки
        With .FormatConditions(0)
           .BackColor = 13434828 'Цвет фона
           .FontBold = True 'Толщина букв
           .ForeColor = RGB(255, 0, 0) 'Цвет символов - красный
        End With
    End With
    'Назначим в поле 'Книга' такое форматирование, при котором
    'будут отображаться строки с полем Сумма  30 рублей
    With Me.Книга
        .FormatConditions.Delete 'Удаляем все условия
        .FormatConditions.Add acExpression, , "[Сумма]30" 'выражение
        .FormatConditions(0).BackColor = 12632256 'Серый цвет фона
    End With
    
    'Назначим в поле 'Сумма' такое форматирование, при котором
    'при входе в поле будет меняться цвет символов
    With Me.Сумма
        .FormatConditions.Delete 'Удаляем все условия
        .FormatConditions.Add acFieldHasFocus 'Назначаем фокус
        .FormatConditions(0).ForeColor = RGB(0, 0, 255) 'Синий цвет
        .FormatConditions.Add acFieldValue, acBetween, "200", "500"
        .FormatConditions(1).ForeColor = 255
    End With
    Err.Clear
End Sub

Microsoft Access. Ссылка на подчиненную форму

21. Используя ссылку на подчиненную форму, можно автоматически вычислять итоги в главной форме. 

Private Sub Form_Load()
    Me.Сумма.ControlSource = "=[Список].Form![ИтоговаяСумма]"
End Sub