Found it:
Code:
Public Function fcnRunRptTimed()
Dim d As DAO.Database
Dim r As Recordset
Dim strObjTbl As String
Dim strSQL As String
Dim i As Integer
Dim strObjRun1 As String
Dim strObjRun2 As String
strObjRun1 = "1stObj"
strObjRun2 = "2ndObj"
strTbl = "tbl_RptTracker"
strSQL = "select * from " & strTbl
Set d = CurrentDb
Set r = d.OpenRecordset(strSQL, dbOpenDynaset)
For i = 1 To 2
r.AddNew
r!ST = Now()
r!OBJ_RUN = strObjRun & Trim(i)
r.Update
Next i
End Function
Look at your code. Since you aren't specifically declaring "strObjRun" as a string variable, the first time you use it, vba is setting it to a new variant variable with a null value assigned by default. Trying to concatenate a Null variant object and a string doesn't work. Try the following:
Code:
Public Function fcnRunRptTimed()
Dim d As DAO.Database
Dim r As Recordset
Dim strObjTbl As String
Dim strSQL As String
Dim i As Integer
strTbl = "tbl_RptTracker"
strSQL = "select * from " & strTbl
Set d = CurrentDb
Set r = d.OpenRecordset(strSQL, dbOpenDynaset)
For i = 1 To 2
r.AddNew
r!ST = Now()
r!OBJ_RUN = CStr(i) & getOrdinalString(i) & "Obj"
r.Update
Next i
End Function
Public Function getOrdinalString(intInput As Integer) As String
Select Case Mid(CStr(intInput), Len(intInput), 1)
'Evaluates the last digit of the input value
Case "1"
getOrdinalString = "st"
Case "2"
getOrdinalString = "nd"
Case "3"
getOrdinalString = "rd"
Case Else
getOrdinalString = "th"
End Select
End Function