This Function gets an error on the first set rst= line. it is called from a query. I don't see anything requiring parameters here.
Function Completd(PersonID As Variant) As Variant
Dim Numb_Completed As Integer
Dim Total_Steps As Integer
Dim Pct_Completed As Variant
Dim mydb As Database
Dim rst As Recordset
Set mydb = CurrentDb
Set rst = mydb.OpenRecordset("Select count(*) as Numb_Completed FROM tblPersons_Steps WHERE TblPersons_Steps.InvID = " & PersonID & " AND TblPersons_Steps.Status IN ('N/A', 'Passed', 'Received', 'Dropped')")
Numb_Completed = rst!Numb_Completed
Set rst = mydb.OpenRecordset("Select count(*) as Total_Steps FROM tblPersons_Steps WHERE TblPersons_Steps.ISInvID =" & PersonID)
Total_Steps = rst!Total_Steps
If Total_Steps > 0 Then
Pct_Completed = (Numb_Completed / Total_Steps) * 100
Else
Pct_Completed = 0
End If
Completd = Pct_Completed
End Function
Function Completd(PersonID As Variant) As Variant
Dim Numb_Completed As Integer
Dim Total_Steps As Integer
Dim Pct_Completed As Variant
Dim mydb As Database
Dim rst As Recordset
Set mydb = CurrentDb
Set rst = mydb.OpenRecordset("Select count(*) as Numb_Completed FROM tblPersons_Steps WHERE TblPersons_Steps.InvID = " & PersonID & " AND TblPersons_Steps.Status IN ('N/A', 'Passed', 'Received', 'Dropped')")
Numb_Completed = rst!Numb_Completed
Set rst = mydb.OpenRecordset("Select count(*) as Total_Steps FROM tblPersons_Steps WHERE TblPersons_Steps.ISInvID =" & PersonID)
Total_Steps = rst!Total_Steps
If Total_Steps > 0 Then
Pct_Completed = (Numb_Completed / Total_Steps) * 100
Else
Pct_Completed = 0
End If
Completd = Pct_Completed
End Function