Thanks RickSpr
I think I have it... it seems to work here is the final Code
Sub AlterFieldType(TblName As String, AlterTempField As String, NewDataType As String)
On Error GoTo Err_AlterFieldType
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Set db = CurrentDb()
' Create a dummy QueryDef object.
Set qdf = db.CreateQueryDef("", "Select * from SIMSUpdate"
' Add a temporary field to the table.
qdf.SQL = "ALTER TABLE [" & TblName & "] ADD COLUMN AlterTempField " & NewDataType
qdf.Execute
' Copy the data from old field into the new field.
qdf.SQL = "UPDATE DISTINCTROW [" & TblName & "] SET AlterTempField = A_SIM_NUM"
qdf.Execute
' Delete the old field.
qdf.SQL = "ALTER TABLE [" & TblName & "] DROP COLUMN A_SIM_NUM"
qdf.Execute
' Rename the temporary field to the old field's name.
db.TableDefs("[" & TblName & "]"

.Fields("AlterTempField"

.Name = "A_SIM_NUM"
' Clean up.
UpdateNASC
Exit_AlterFieldType:
Exit Sub
Err_AlterFieldType:
MsgBox Err.Description
Resume Exit_AlterFieldType
End Sub
Sub UpdateNASC()
On Error GoTo Err_UpdateNASC
DoCmd.SetWarnings False
DoCmd.OpenQuery "SimsUpdate A"
DoCmd.OpenQuery "SimsUpdate Z"
DoCmd.SetWarnings True
Exit_UpdateNASC:
Exit Sub
Err_UpdateNASC:
MsgBox Err.Description
Resume Exit_UpdateNASC
End Sub