Using Recordset with query

radek225

Registered User.
Local time
Today, 11:35
Joined
Apr 4, 2013
Messages
307
I want to use Recordset to work with query but get the error "Run-time error '3061' too less parameters. Expected one" :/

Code:
Dim rst As Recordset
Dim strSQL As String
Dim krojenie As String
strSQL = "SELECT * FROM powtorzeniaDoKrojenia"
Set rst = CurrentDb.OpenRecordset(strSQL)

  Do While Not rst.EOF
If krojenie = vbNullString Then
    krojenie = rst!LiczbaPowtorzen & " x " & "( " & rst!Naklad_skladki & " + " & rst!Gorka & " )"
Else
    krojenie = krojenie & " + " & rst!LiczbaPowtorzen & " x " & "( " & rst!Naklad_skladki & " + " & rst!Gorka & " )"
End If
        rst.MoveNext
        Loop
        rst.Close
Me.krojenie = krojenie
 
In which line do you get the error?
Is powtorzeniaDoKrojenia a table or a query, if query, then show the query string.
 
In which line do you get the error?
Is powtorzeniaDoKrojenia a table or a query, if query, then show the query string.

In this line
Code:
Set rst = CurrentDb.OpenRecordset(strSQL)

powtorzeniaDoKrojenia is a query
Code:
SELECT First(tblImpozycjaSzczegoly.[SposobUlozenia]) AS SposobUlozenia, tblImpozycjaSzczegoly.[Naklad_skladki] AS Naklad_skladki, tblImpozycjaSzczegoly.[Gorka] AS Gorka, Count(tblImpozycjaSzczegoly.SposobUlozenia) AS LiczbaPowtorzen
FROM tblImpozycjaSzczegoly
WHERE tblImpozycjaSzczegoly.id_tblImpozycja = Forms!frmZlecenieMarzena.Form!frmImpozycja!id_tblImpozycja
GROUP BY tblImpozycjaSzczegoly.[SposobUlozenia], tblImpozycjaSzczegoly.[Naklad_skladki], tblImpozycjaSzczegoly.[Gorka]
ORDER BY Count(tblImpozycjaSzczegoly.SposobUlozenia and tblImpozycjaSzczegoly.Naklad_Skladki) DESC;
 
You can't use criteria which reference to a form in a recordset.
Either use parameters or set in criteria value in the SQL string.
strSQL = "SELECT First(tblImpozycjaSzczegoly.[SposobUlozenia]) AS SposobUlozenia, tblImpozycjaSzczegoly.[Naklad_skladki] AS Naklad_skladki, tblImpozycjaSzczegoly.[Gorka] AS Gorka, Count(tblImpozycjaSzczegoly.SposobUlozenia) AS LiczbaPowtorzen FROM tblImpozycjaSzczegoly WHERE tblImpozycjaSzczegoly.id_tblImpozycja =" & Forms!frmZlecenieMarzena.Form!frmImpozycja!id_tblImpozycja & " GROUP BY tblImpozycjaSzczegoly.[SposobUlozenia], tblImpozycjaSzczegoly.[Naklad_skladki], tblImpozycjaSzczegoly.[Gorka] ORDER BY Count(tblImpozycjaSzczegoly.SposobUlozenia and tblImpozycjaSzczegoly.Naklad_Skladki) DESC"
Set rst = CurrentDb.OpenRecordset(strSQL)
If Forms!frmZlecenieMarzena.Form!frmImpozycja!id_tblImpozycja is text then:
strSQL = "SELECT First(tblImpozycjaSzczegoly.[SposobUlozenia]) AS SposobUlozenia, tblImpozycjaSzczegoly.[Naklad_skladki] AS Naklad_skladki, tblImpozycjaSzczegoly.[Gorka] AS Gorka, Count(tblImpozycjaSzczegoly.SposobUlozenia) AS LiczbaPowtorzen FROM tblImpozycjaSzczegoly WHERE tblImpozycjaSzczegoly.id_tblImpozycja ='" & Forms!frmZlecenieMarzena.Form!frmImpozycja!id_tblImpozycja & "' GROUP BY tblImpozycjaSzczegoly.[SposobUlozenia], tblImpozycjaSzczegoly.[Naklad_skladki], tblImpozycjaSzczegoly.[Gorka] ORDER BY Count(tblImpozycjaSzczegoly.SposobUlozenia and tblImpozycjaSzczegoly.Naklad_Skladki) DESC"
Set rst = CurrentDb.OpenRecordset(strSQL)
 

Users who are viewing this thread

Back
Top Bottom