Combo box selection to select records for form

I have an ADP with SQL backend which was converted from Access. I had a combo box that worked in Access but it is not working since I upsized to the adp. Here is the After Update from the combo box.

What needs to be changed for it to work in the ADP?
Private Sub Combo144_AfterUpdate()
' Find the record that matches the control.
    Dim rs As Object
 
    Set rs = Me.Recordset.Clone
    rs.FindFirst "[fld_JobNumber] = " & Str(Nz(Me![Combo144], 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub

Open in new window

Bill WarrenIT ManagerAsked:
Who is Participating?
 
bigbillydotcomConnect With a Mentor Commented:
shouldnt you declare rs as a recordset object?

Dim rs As DAO.Recordset

and command for cloning recordset is:

Set rs = Me.RecordsetClone
0
 
Bill WarrenIT ManagerAuthor Commented:
Thats giving me Run-time error 13 Type Mismatch and doesn't clone the recordset
0
 
Bill WarrenIT ManagerAuthor Commented:
Here's what I have after your suggestion

Private Sub Combo144_AfterUpdate()
' Find the record that matches the control.
    Dim rs As DAO.Recordset
    Set rs = Me.RecordsetClone
    rs.FindFirst "[fld_JobID] = " & Str(Nz(Me![Combo144], 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
 
is this correct?
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
bigbillydotcomConnect With a Mentor Commented:
yes - that looks better
what line is it breaking on now?

this one look strnage
rs.findFirst "[fld_JobID] = " & Str(Nz(Me![Combo144], 0))
what is Nz ? a function?
and what about  this
rs.findFirst "[fld_JobID] = " & CStr(Nz(Me![Combo144], 0))
0
 
Bill WarrenIT ManagerAuthor Commented:
Sorry but I'm not sure what Nz means...
it seems to be breaking on the
Set rs = Me.RecordsetClone   line
if I mouse over the rs it says rs = Nothing
0
 
Bill WarrenIT ManagerAuthor Commented:
i found someone else having the same problem but I don't understand the explanation of what the fix is. see below
Question:
I am migrating an mdb database to an adp/SQL Server platform. On one of my
forms, when a user selects a record from a list, selected fields for that
record are displayed on the form. In Access mdb, I do this with VBA code on
the after Update event for the list:

Private Sub List17_AfterUpdate()
' Find the record that matches the control.
Dim rs As Object

Set rs = Me.Recordset.Clone
rs.FindFirst "[primaryfield] = " & Str(Me![List17])
Me.Bookmark = rs.Bookmark
End Sub

THis doesnt work in adp. I gert an error message that says "Object doesn't
support this property or method."

If this is relevant, in the adp version, the List is populated by an SQL
view that the form is also based on (in the mdb version it was a query).

Do I need a totally differnt approach now, or can this VBA code be tweaked
to work?
Answer:
Split your .FindFirst into .MoveFirst and then .Find . ADO recordsets don't
have a .FindFirst method.

-using this info how would I transfer it to my code?
0
 
bigbillydotcomCommented:
AHHH
the old ADo trick
gimme a few  - lemme do some quick dev
0
 
Bill WarrenIT ManagerAuthor Commented:
I believe I found it... this seemed to work

Private Sub Combo144_AfterUpdate()
' Find the record that matches the control.
    Dim rs As Object
    Set rs = Me.RecordsetClone
    rs.MoveFirst
    rs.Find "[fld_JobID] = " & Val(Nz(Me![Combo144], 0))
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
but I'll credit you half for your help okay?
0
 
bigbillydotcomCommented:
not sure if u can change the points/credit after opening the question
but I'm here to help - not scour people for points
another thing you might want to consider is the Group Filter control
It does what you are looking for and is really easy to implement
To limit items displayed on a page, add a group filter control

To add the control, open the page in design view
then, using your right mouse button, drag the field containing the data you want to use as the basis for your filter from the field list (on the toolbar) to the data section of the page

When you release the button, Select Group Filter Control from the submenu

Access will create a combobox on the page
When you go back to data view, the page only displays the records that meet the filter

Good Luck!
0
 
Bill WarrenIT ManagerAuthor Commented:
Thanks,
 
nahh don't worry about it... I just always appreciate the help. I'll look at the Group Filter Control.
Thanks again
0
 
bigbillydotcomCommented:
thanks afsfire
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.