Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Too Few Parameters. Expected 2. Run Time Error "3061";

Status
Not open for further replies.

akins4lyfe

Programmer
Oct 6, 2010
39
GB


I have an unboud listbox control, placed on a form, it collects membership informations e.g firstnames, lastnames & Membership Numbers from a query called "queryFindMemberWildcard".

I would like users to select a member from the listbox by double clicking a MemberFirstName or MemberNo. Then relevant details of a member selected will populate different sets of texboxes, txtMemberNo, txtFirstName, txtLastName.Whenever i select a member by double clicking. I keep getting the error too few parameters. expected 2. on this line " Set rstDisMem = Mikebase.OpenRecordset("qryFindMemberWildCard", dbOpenSnapshot)"....line 7

Pls assist. here is my code:

Private Sub lstMembers_DblClick(Cancel As Integer)

Call DatabaseConnection

Dim intRowSelected As Integer
Dim strMemNo, strMemberNo, StrFirstName, StrLastName As String
Dim rstDisMem As DAO.Recordset


Set rstDisMem = Mikebase.OpenRecordset("qryFindMemberWildCard", dbOpenSnapshot)
intRowSelected = lstMembers.ListIndex

If intRowSelected <> -1 Then

strMemNo = lstMembers.ItemData(intRowSelected + 1)

' find the first record in the record set with the given member number
rstDisMem.FindFirst ("Member No = '" & strMemNo & "'")
' assign values from the record set about the member to some text boxes
strMemberNo = rstDisMem("Member No")
Me.txtMemberNo.Value = strMemberNo

StrFirstName = rstDisMem("First Name")
Me.txtFirstName.Value = StrFirstName

StrLastName = rstDisMem("Last Name")
Me.txtLastName.Value = StrLastName
Else
End If

End Sub
 
Is this Access?
If so, the typical method for handling this is to have the values you want to stick into the controls as columns in the list box. Then you code is something like:
Code:
 Me.txtFirstName.Value = Me.lstMembers.Column(x) 'x is the column number
Column numbers begin at 0.

Duane
Hook'D on Access
MS Access MVP
 

hi dhookom,

thanks for your response. yes this is Access. I have now changed my codes to reflect Me.lstMembers.Columns(0)-(2) on each line.

it's still throwing the same error. I dont know what im doing wrong here.

Revised Code:

Private Sub lstMembers_DblClick(Cancel As Integer)

Call DatabaseConnection
'Dim strSQL As String
Dim intRowSelected As Integer
Dim strMemNo, strMemberNo, StrFirstName, StrLastName As String
Dim rstDisMem As DAO.Recordset


Set rstDisMem = Mikebase.OpenRecordset("qryFindMemberWildCard", dbOpenSnapshot)
intRowSelected = lstMembers.ListIndex

If intRowSelected <> -1 Then
'
strMemNo = lstMembers.ItemData(intRowSelected + 1)

' find the first record in the record set with the given member number
rstDisMem.FindFirst ("Member No = '" & strMemNo & "'")
' assign values from the record set about the member to some text boxes
Me.MemberNo = Me.lstMembers.Column(0)
Me.FirstName = Me.lstMembers.Column(1)
Me.LastName = Me.lstMembers.Column(2)

Else
End If

End Sub
 
Don't use a recordset as you already have the values un the listbox ...

Hope This Helps, PH.
FAQ219-2884
FAQ181-2886
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top