Изменение меток столбцов доступа через VBA

Я уже некоторое время искал решение этой проблемы и, похоже, не нашел ничего подходящего. Можно ли изменить метки столбцов (заголовки) в таблице через VBA. Единственный способ сделать это - создать запрос на основе таблицы с параметрами в качестве псевдонимов SQL. Однако это добавляет еще несколько элементов в мою и без того сложную базу данных, и я хочу этого избежать. Я не хочу менять имена столбцов. Есть ли какое-то решение этой проблемы, или я должен оставить все как есть?

Спасибо за то, что вы уделили время на чтение этого и за ответы!

1 ответ

Решение

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

Option Compare Database
Option Explicit

Sub Usage()
    SetProperty "Table1", "ID", "Caption", "This is an ID"
End Sub

Sub SetProperty(TableName As String, Fieldname As String, _
    PropertyName As String, PropertyValue As Variant, _
    Optional PropertyType As Variant = dbText)

Dim db As DAO.Database
Dim fld As DAO.Field
Dim prp As DAO.Property

    On Error GoTo Err_Property

    Set db = CurrentDb
    Set fld = db.TableDefs(TableName).Fields(Fieldname)
    fld.Properties(PropertyName) = PropertyValue

    ''Debug.Print fld.Properties(PropertyName)

    Exit Sub

Err_Property:

    ' Error 3270 means that the property was not found.
    If DBEngine.Errors(0).Number = 3270 Then
        ' Create property, set its value, and append it to the
        ' Properties collection.
        Set prp = fld.CreateProperty(PropertyName, _
            PropertyType, PropertyValue)
        fld.Properties.Append prp
        Resume Next
    Else
        MsgBox Err.Description
    End If

End Sub
Другие вопросы по тегам