1
我已經爲此問題搜索了一段時間的解決方案,似乎無法找到任何相關的內容。是否可以通過VBA更改表格中的列標籤(標題)。我發現要做到這一點的唯一方法是創建基於表的參數作爲SQL別名的查詢。但是,它爲我已經複雜的數據庫添加了更多元素,這是我想避免的。我不想更改列名稱。有沒有解決這個問題的方法,或者我現在應該離開它嗎?通過VBA更改訪問列標籤
感謝您花時間閱讀本文併爲答案!
我已經爲此問題搜索了一段時間的解決方案,似乎無法找到任何相關的內容。是否可以通過VBA更改表格中的列標籤(標題)。我發現要做到這一點的唯一方法是創建基於表的參數作爲SQL別名的查詢。但是,它爲我已經複雜的數據庫添加了更多元素,這是我想避免的。我不想更改列名稱。有沒有解決這個問題的方法,或者我現在應該離開它嗎?通過VBA更改訪問列標籤
感謝您花時間閱讀本文併爲答案!
我認爲這就是你想要的,但我從不大大讚成將信息添加到可能會混淆未來用戶的表格。
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
如果您是指在臨時基礎上動態更改列名,我強烈建議您不要這樣做。 – Fionnuala
正如我寫的,我不想改變他們的名字,只是他們顯示給用戶的方式。我可以通過在表格項目選項卡中更改它們的標題來手動完成。我想知道我是否可以動態地做到這一點。 – iwek
恐怕我不太明白你想要什麼。什麼是表格項目選項卡?你在使用表單嗎? – Fionnuala