Изменение меток столбцов доступа через 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