Author: Calvin Smith
http://www.CalvinSmithSoftware.com/codedisk/sneakpeek.htm
The following code will allow a developer to programmatically change the size of a table column. This code could also be used to change the data type of a column.
Sub AlterColumnSize(tblYourTableName As String, _
YourColumnName As String, _
NewColumnSize As Integer)

On Error GoTo ErrorHandling_Err

    ' ---------------------------------------------------------------
    ' Purpose: Example of how to change the size of a column
    '
    ' Example usage:
    '       AlterColumnSize "tblYourTableName","TargetColumn", 255
    ' ---------------------------------------------------------------
    
Dim ThisDB As DAO.Database
Dim qdf As DAO.QueryDef
Set ThisDB = CurrentDb

' Create a dummy QueryDef object.
Set qdf = ThisDB.CreateQueryDef("", "Select * From Foo")

' Add a temporary column to the table.
qdf.SQL = "Alter Table [" & tblYourTableName & "] Add Column YourTempColumnName Text(" & NewColumnSize & ")"
'
'NOTE: The following line is an example of how to add a float (double) data type
'qdf.SQL = "Alter Table [" & tblYourTableName & "] Add Column YourTempColumnName Float"
'
qdf.Execute

' Copy the data from old column into the new column.
qdf.SQL = "Update DISTINCTROW [" & tblYourTableName & "] Set YourTempColumnName = [" & YourColumnName & "]"
qdf.Execute

' Delete the old column.
qdf.SQL = "Alter Table [" & tblYourTableName & "] Drop Column [" & YourColumnName & "]"
qdf.Execute

' Rename the temporary column to the old column's name.
ThisDB.TableDefs("[" & tblYourTableName & "]").Fields("YourTempColumnName").Name = YourColumnName

ErrorHandling_Err:
    If Err Then
        'Trap your error(s) here, if any!
    End If
End Sub