I have inherited a program that needs work. I have been staring at this for days, and am missing the answer. I am getting a ByRef Argument Type Mismatch when I compile:

Public Sub LoadShifts()
Dim tb As Recordset
Dim cString As String
If lstRank.Text = "<ALL>" Then
Set tb = DB.OpenRecordset("Select Shift,Rank,ShiftOneLetter,ID From Shifts" & _
" Where IsNumeric(Shift) Order By Shift")
Else
Set tb = DB.OpenRecordset("Select Shift,Rank,ShiftOneLetter,ID From Shifts " & _
"Where IsNumeric(Shift) And " & _
"Rank Like '*" & lstRank.ItemData(lstRank.ListIndex) & _
"*' Order By Shift")
End If
grdShifts.SelectionMode = flexSelectionByRow
grdShifts.AllowBigSelection = True
grdShifts.FillStyle = flexFillSingle
grdShifts.ColWidth(0) = 650
grdShifts.ColWidth(1) = 975
grdShifts.ColWidth(2) = 500
grdShifts.ColAlignment(0) = flexAlignCenterCenter
grdShifts.ColAlignment(1) = flexAlignLeftCenter
grdShifts.ColAlignment(2) = flexAlignCenterCenter
grdShifts.TextMatrix(0, 0) = "Shift"
grdShifts.TextMatrix(0, 1) = "Rank(s)"
grdShifts.TextMatrix(0, 2) = "ID"
PopulateFlexGrid grdShifts, tb
tb.Close
End Sub


What am I missing? Thank you for any help you can provide.