Solved

Return on a specific record - Access Form

Posted on 2011-09-30
6
312 Views
Last Modified: 2012-06-22
Hi,

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.
0
Comment
Question by:Karl001
  • 2
  • 2
  • 2
6 Comments
 
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
me.requery

'after the requery, find the record using


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



0
 
LVL 11

Accepted Solution

by:
datAdrenaline earned 500 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.Requery

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

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

Author Comment

by:Karl001
ID: 36891864
To be sure

Dim varId is a module variable

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

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

0
Back Up Your Microsoft Windows Server®

Back up all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 
LVL 11

Assisted Solution

by:datAdrenaline
datAdrenaline earned 500 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.
0
 

Author Closing Comment

by:Karl001
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
    DoCmd.Close
   
   Forms. mainForm.Requery
   Forms. mainForm.Recordset.FindFirst strActiveRecord

End sub
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 36893713
? :-(
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)

Question has a verified solution.

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

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…
I originally created this report in Crystal Reports 2008 where there is an option to underlay sections. I initially came across the problem in Access Reports where I was unable to run my border lines down through the entire page as I was using the P…
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…

809 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