A family of Microsoft relational database management systems designed for ease of use.
The following is a GUESS at what you are attempting to accomplish.
Option Compare Database
Option Explicit
Public Sub Recharges()
Dim DB As Database
Dim RS As Recordset
'Declare Table Variables
Dim EAnnualSub As Double
Dim ENewBillCash As Double
Dim ELeftBillCash As Double
Dim EDiscount As Double
Dim ENetAnnual As Double
Dim YearEMar As Double
Dim YearEApr As Double
Dim YearEMay As Double
Dim YearEJun As Double
Dim YearEJul As Double
Dim YearEAug As Double
Dim YearESep As Double
Dim YearEOct As Double
Dim YearENov As Double
Dim YearEDec As Double
Dim YearEJan As Double
Dim YearEFeb As Double
Dim JournalMth As String
Dim EPayRef As Double
Dim TR1 As Double
Dim TR2 As Double
Dim TR3 As Double
Dim TR4 As Double
Dim TR5 As Double
Dim TR6 As Double
Dim Pay As Double
'Select Month to Update from
'This value is not used in your code to so I am not sure why you are attempting to get it
JournalMth = InputBox("Enter the Journal Month as 3 letter eg. 'Mar'", "Select Journal Month")
'Open the Database
Set DB = OpenDatabase("PPP_Health_2007.accdb")
'Open the Table
Set RS = DB.OpenRecordset("2011_2012", dbOpenDynaset)
WITH RS
Do While Not .EOF
'Define Fields --- problem here if any of the fields are null.
'You have defined the fields as double and double will NOT accept a null value
Pay = .Fields("EPayRef")
TR1 = Nz(.Fields("EAnnualSub"),0)
TR2 = NZ(.Fields("EDiscount"),0)
TR3 = Nz(.Fields("ENetAnnual"),0)
TR4 = NZ(.Fields("ENewBillCash"),0)
TR5 = Nz(.Fields("ELeftBillCash"),0)
TR6 = Nz(.Fields("EP11DNet"),0)
.Edit
'A little confusion may exist on my part with TR6 being a variable and a field name
!TR6 = Val(TR1 - TR2)
!TR3 = Val((TR1 + TR4) - (TR2 + TR5))
.Update
.MoveNext
Loop
End With 'RS
End Sub