Solved

Combo box selection to select records for form

Posted on 2009-05-15
11
630 Views
Last Modified: 2013-12-05
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

0
Comment
Question by:afsfire
  • 6
  • 5
11 Comments
 
LVL 13

Accepted Solution

by:
bigbillydotcom earned 500 total points
Comment Utility
shouldnt you declare rs as a recordset object?

Dim rs As DAO.Recordset

and command for cloning recordset is:

Set rs = Me.RecordsetClone
0
 

Author Comment

by:afsfire
Comment Utility
Thats giving me Run-time error 13 Type Mismatch and doesn't clone the recordset
0
 

Author Comment

by:afsfire
Comment Utility
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
 
LVL 13

Assisted Solution

by:bigbillydotcom
bigbillydotcom earned 500 total points
Comment Utility
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
 

Author Comment

by:afsfire
Comment Utility
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
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 

Author Comment

by:afsfire
Comment Utility
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
 
LVL 13

Expert Comment

by:bigbillydotcom
Comment Utility
AHHH
the old ADo trick
gimme a few  - lemme do some quick dev
0
 

Author Comment

by:afsfire
Comment Utility
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
 
LVL 13

Expert Comment

by:bigbillydotcom
Comment Utility
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
 

Author Comment

by:afsfire
Comment Utility
Thanks,
 
nahh don't worry about it... I just always appreciate the help. I'll look at the Group Filter Control.
Thanks again
0
 
LVL 13

Expert Comment

by:bigbillydotcom
Comment Utility
thanks afsfire
0

Featured Post

Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

Join & Write a Comment

In the previous article, Using a Critera Form to Filter Records (http://www.experts-exchange.com/A_6069.html), the form was basically a data container storing user input, which queries and other database objects could read. The form had to remain op…
Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now