Unfortunately this doesn't seem do-able. This is from the Access Help Files for Type
---------------------------------------
The setting or return value is a constant that indicates an operational or data type. For a Field or Property object, this property is read/write until the object is appended to a collection or to another object, after which it's read-only. For a QueryDef, Recordset, or Workspace object, the property setting is read-only. For a Parameter object in a Microsoft Jet workspace the property is read-only, while in an ODBCDirect workspace the property is always read-write.
-----------------------------------------
Since you have already Appended CurrBal to the Fields Collection, the Type property is read-only, and can't be changed in code. You can however, change the Name of the current field, then add a new field named CurrBal with a Data Type of Currency, then update the field with the value in the old field, using CCur to convert to Currency. Use the following code (make a backup of the table before attempting this, just to be on the safe side).
Dim db As DAO.database, tdf As TableDef
Dim fld As Field, p As Property
Set db = CurrentDb
Set tdf = db.TableDefs("Homeq"

Set fld = tdf("CurrBal"

On Error GoTo errMsg
For Each p In fld.Properties
If p.Name = "Name" Then
Debug.Print p.Name; " Before "; p.Value;
p.Value = "OldCurrBal"
Debug.Print p.Name; " After "; p.Value;
End If
Next p
With tdf
.Fields.Append .CreateField("CurrBal", dbCurrency)
.Fields.Refresh
End With
db.Execute ("UPDATE Homeq SET Homeq.CurrBal = CCur([Homeq].[OldCurrBal]);"
Exit Sub
errMsg:
MsgBox Err.Number & " : " & Err.Description, vbCritical
PauF