"How can I set and modify the descriptions of objects using VBA?"

Function bolModTableProperty(strTableName As String, strProperty As String, strPropType, strDescription As String) As Boolean
'Author: Jose F Hernandez jose@networkservices.net
'Purpose: Modify the Description of linked tables.

Dim db As Database
Dim strDesc As String
Dim prp As Property

Set db = currentdb

On Error GoTo bolModTableProperty_Err 'In case the table does not have a Description property set

db.TableDefs(strTableName).Properties(strProperty).value = strDescription 'A null Val in strdescription will give an Error

bolModTableProperty = True

bolModTableProperty_Exit:
If Not db Is Nothing Then Set db = Nothing
If Not prp Is Nothing Then Set prp = Nothing
    Exit Function

bolModTableProperty_Err:
    bolModTableProperty = False
    Select Case Err.Number
        Case 3270 ' property NOT found
            Set prp = db.TableDefs(strTableName).CreateProperty(strProperty, strPropType, strDescription)
            db.TableDefs(strTableName).Properties.Append prp
            db.TableDefs(strTableName).Properties.Refresh
            Resume Next
        Case Else
            MsgBox Err.Description
    End Select
Resume bolModTableProperty_Exit
End Function

Function strGetTableDesc(strTable As String) As String
On Error Resume Next  'In case the table does not have a Description property set
'Author: Jose F Hernandez jose@networkservices.net
'Purpose: Get the description for a linked table from the B/E DB.
'Some Info: I used the 'msysobjects' table to grab the path to the B/E db and also to grab the
'name of the foreign table name. Just in case a different name is used for the linked table name.
'
Dim strDesc As String
Dim db As Database

Dim strDb As String
Dim strForeignTblName As String

strDb = DLookup("Database", "msysobjects", "Name=" & Chr(34) & strTable & Chr(34)) 'Path to B/E DB
strForeignTblName = DLookup("ForeignName", "msysobjects", "Name=" & Chr(34) & strTable & Chr(34)) Name of table in External DB

If Len(strDb) = 0 Then 'Local table.
    Set db = currentdb
    strDesc = db.TableDefs(strTable).Properties("Description").value
Else
    Set db = DBEngine.OpenDatabase(strDb) 'Linked Table
    strDesc = db.TableDefs(strForeignTblName).Properties("Description").value 'Linked Tables
End If

strGetTableDesc = strDesc
If Not db Is Nothing Then Set db = Nothing

End Function

Sub test()
Dim strTemp As String
Dim strTable As String
strTable = "TableName"
    DoCmd.Hourglass True
    ' Use this ONLY on linked tables.
    strTemp = strGetTableDesc(strTable)
    bolModTableProperty strTable, "Description", dbText, strTemp
    DoCmd.Hourglass False
End Sub