I am confused by your original code. You ReDim array EmailBody, yet the array filled is TblRow. Code does not show either declared. I have used QueryDefs only when I wanted to create or modify an Access query object, never just to open a recordset. What is your backend - what is 'tri'?)
Join() is new to me but I have used Array() function:
Code:
Dim Dbs As DAO.Database
Dim Rs As DAO.Recordset
Set Dbs = CurrentDb
Set Rs = Dbs.OpenRecordset("SELECT * FROM tri.TktEmailTmp")
If Not (Rs.BOF And Rs.EOF) Then
Do While Not Rs.EOF
strBodyPass = strBodyPass & "<tr><td>" & Join(Array(Rs!EmpID, Rs!EmpName, Rs!TempAgency), "</td><td>") & "</td></tr>"
Rs.MoveNext
Loop
End If