Darren DICK
d.dick at uws.edu.au
Wed Nov 5 00:12:36 CST 2003
Thanks to all who responded I went with the DCOUNT method Thanks Andrew and Yes I have spelt assessment wrong. - thanks Have a great day Darren ----- Original Message ----- From: "Haslett, Andrew" <andrew.haslett at ilc.gov.au> To: "'Access Developers discussion and problem solving'" <accessd at databaseadvisors.com> Sent: Wednesday, November 05, 2003 3:57 PM Subject: RE: [AccessD] A2K: Too Few Paramaters. Expected 1 > 1) You should try to dim your variables with its library, especially in > regard to databases and recordsets. > 2) You need to escape your variables from within your SQL string. > 3) If all you want is a count of records, there's no need to retrieve an > entire recordset. Use DCOUNT function or SELECT COUNT. > 4) You can use ME instead of the full form name, if you are running this > code from an event of the same form, > > So to fix the intital problem: > > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>. > Dim db DAO.As Database > Dim rs As DAO.Recordset > Dim strSQL As String > Dim x As Long > > Set db = CurrentDb() > > strSQL = "SELECT tblAssesmentResults.AssesmentResultID, > tblAssesmentResults.ResultID _ > FROM tblAssesmentResults _ > WHERE tblAssesmentResults.ResultID = " & > [Forms]![frmAssesments]![txtResultID])) & ";" > > Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot) > > With rs > 'If Not .EOF Then > x = rs.RecordCount > MsgBox x > 'End If > .Close > End With > > Set rs = Nothing > db.Close > Set db = Nothing > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > > A better method: > > ********************************************************* > Dim x as long > x = DCOUNT("*","tblAssesmentResults","ResultID = " & me.txtResultID) > msgbox x > ********************************************************* > > Cheers, > Andrew > > PS. You spelt Assessment wrong ;=) > > -----Original Message----- > From: Darren DICK [mailto:d.dick at uws.edu.au] > Sent: Wednesday, 5 November 2003 2:37 PM > To: AccessD List > Subject: [AccessD] A2K: Too Few Paramaters. Expected 1 > > > Hello all > Can anyone tell me why I am getting the dreaded Too Few Paramaters blah blah > blah error message when > I run the code below?? The code is almast exact of something else that is > running quite well on the same form. > > Many thanks > > Darren > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>. > Dim db As Database > Dim rs As Recordset > Dim strSQL As String > Dim x As Long > > Set db = CurrentDb() > > strSQL = "SELECT tblAssesmentResults.AssesmentResultID, > tblAssesmentResults.ResultID FROM tblAssesmentResults WHERE > (((tblAssesmentResults.ResultID)=[Forms]![frmAssesments]![txtResultID]));" > > Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot) > > With rs > 'If Not .EOF Then > x = rs.RecordCount > MsgBox x > 'End If > .Close > End With > > Set rs = Nothing > db.Close > Set db = Nothing > > > _______________________________________________ > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > > IMPORTANT - PLEASE READ ******************** > This email and any files transmitted with it are confidential and may > contain information protected by law from disclosure. > If you have received this message in error, please notify the sender > immediately and delete this email from your system. > No warranty is given that this email or files, if attached to this > email, are free from computer viruses or other defects. They > are provided on the basis the user assumes all responsibility for > loss, damage or consequence resulting directly or indirectly from > their use, whether caused by the negligence of the sender or not. > _______________________________________________ > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com