Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


Return on a specific record - Access Form

Posted on 2011-09-30
Medium Priority
Last Modified: 2012-06-22

On a main form, I have a list of records, with a details button on each row.

When I click on the details button, a new form is opened with details of the selected record

When I close the details form, I would like to go back on the record previously selected.

Currently, I return on  the top of the records list in the main form.
Question by:Karl001
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 36891679
that is a normal behavior when you Requery the Form, the pointer goes to the first record..

'save the recordid in a variable

dim varID
varID = me.recordId

'after the requery, find the record using

me.recordsetclone.findfirst "[recordID]= " & varID
if not me.recordsetclone.nomatch then
end if

LVL 11

Accepted Solution

datAdrenaline earned 2000 total points
ID: 36891851
Since you are likely not having to worry with any deletions, I would consider going a little "lower level" than caps suggestion (assumption is the the pk field is an autonumber and is named RecordId).

Dim lngId As Long
lngId = Me.RecordId


Me.Recordset.FindFirst "[RecordId]=" & lngId

{note: definately not indicating there is anything incorrect with caps suggestion!}

Author Comment

ID: 36891864
To be sure

Dim varId is a module variable

       varId = me.recordId
is  in click event (detail button)

      me.recordsetclone.findfirst "[recordID]= " & varID
      if not me.recordsetclone.nomatch then
      end if
is in Form_Current event


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

LVL 11

Assisted Solution

datAdrenaline earned 2000 total points
ID: 36892309
Not really ... the key is this ... When and How to you tell the main form to Requery?  Do you have code in the Detail form that requeries the Main form? or do you have an event that is triggered when the main form recieves the focus again?

Wherever that call to .Requey exists, you need to surround that call with a way to store the value of the current record (I would recommend a procedure level variable, not a module level variable), then the .Requery is called, then you perform the .Find.

Author Closing Comment

ID: 36893098
Solution used:

In details Form, on click event (closing button)

Private Sub btnClose_Click()

   Dim strActiveRecord As String

   strActiveRecord = "[trainingNo]=  '" & Me.txtTrainingNo & _
                                   " ' AND [departmentId]=" & Me.lstDepartment
   Forms. mainForm.Requery
   Forms. mainForm.Recordset.FindFirst strActiveRecord

End sub
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 36893713
? :-(

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The Windows Phone Theme Colours is a tight, powerful, and well balanced palette. This tiny Access application makes it a snap to select and pick a value. And it doubles as an intro to implementing WithEvents, one of Access' hidden gems.
Microsoft Access is a place to store data within tables and represent this stored data using multiple database objects such as in form of macros, forms, reports, etc. After a MS Access database is created there is need to improve the performance and…
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

618 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