Hi all,
I am having issues with opening a recordset based on a query that requires two parameters.
My query has a parameter [Year] and a parameter [Partlist]
The partlist should be a string of Article codes seperated by the Or parameter.
The first parameter (Year) works fine, but when I add the Partlist parameter it doesn't find any records anymore.
The GetArticlesFromGroup returns the string of Article Numbers that I want.
I tried all kinds of variants of this result:
'PARTNR1' Or 'PARTNR2' Or 'PARTNR3'
"PARTNR1" Or "PARTNR2" Or "PARTNR3"
"'PARTNR1' Or 'PARTNR2' Or 'PARTNR3'"
How should this string look like when passing it as a parameter?
I am having issues with opening a recordset based on a query that requires two parameters.
My query has a parameter [Year] and a parameter [Partlist]
The partlist should be a string of Article codes seperated by the Or parameter.
The first parameter (Year) works fine, but when I add the Partlist parameter it doesn't find any records anymore.
The GetArticlesFromGroup returns the string of Article Numbers that I want.
I tried all kinds of variants of this result:
'PARTNR1' Or 'PARTNR2' Or 'PARTNR3'
"PARTNR1" Or "PARTNR2" Or "PARTNR3"
"'PARTNR1' Or 'PARTNR2' Or 'PARTNR3'"
How should this string look like when passing it as a parameter?
Code:
Public Function GetOrdersByDealerByYearTop10(intCategory As Integer, strYear As String) As String
On Error GoTo Err_GetOrdersByDealerByYearTop10
'Declare variables
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim rst As DAO.Recordset
Dim intCnt As Integer
Dim strQuery As String
Dim strDB As String
Dim strResult As String
'Initalize variables
intCnt = 1
'Determine what query to open
If CInt(strYear) < 2017 Then
strQuery = "qryXXXOrdersDealerYear"
strDB = "XXX"
Else
strQuery = "qryYYYOrdersDealerYear"
strDB = "YYY"
End If
'Open a Recordset based on SQL Statement
Set db = CurrentDb
Set qdf = db.QueryDefs(strQuery)
qdf.Parameters("Year").Value = strYear
qdf.Parameters("Partlist").Value = GetArticlesFromGroup(intCategory, strDB)
Set rst = qdf.OpenRecordset()
'Loop through records and generate dealerlist.
rst.MoveFirst
Do Until intCnt = 11 Or rst.EOF
Debug.Print rst!Number & " - " & rst!Name
intCnt = intCnt + 1
rst.MoveNext
Loop
rst.Close
Exit_GetOrdersByDealerByYearTop10:
Set rst = Nothing 'Clean-up
Set qdf = Nothing
Set db = Nothing
Exit Function
Err_GetOrdersByDealerByYearTop10:
Resume Exit_GetOrdersByDealerByYearTop10
End Function