You don't need to use SelectObject - remove that line.
Your OpenReport call is still not correct. Assuming that "DriverName" is the field you're using to filter the report:
With rst
.MoveFirst
While Not .EOF
DoCmd.OpenReport "Staff Salary Report", acViewPreview, , "DriverName='" & .Fields("StaffName") & "'"
DoCmd.PrintOut
DoCmd.Close acReport, "Staff Salary Report"
.MoveNext
Wend
End With