Solved

How to point to recently Added record in Continuous form from Entry form

Posted on 2008-10-07
17
222 Views
Last Modified: 2008-10-07
I have a continuous form that the user can select a record and click on Edit or Add and it will open an Entry form.

If the record is edited, once the entry form is closed, the pointer will be on the record worked on.

If a record is added, once the entry form is closed, the pointer will be on the first record on the continuous form.

How can I make it point to the new record in the continuous form ?

The following is my code:
Private Sub Command28_Click()
On Error GoTo Err_Command28_Click
'save

Dim intIDSelected As Integer

'new
If IsNull(Forms![frmbuyersowners]![id]) Then
   intIDSelected = 0
Else
    intIDSelected = Forms![frmbuyersowners]![id]
End If

    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

' this points to the edited record
If intIDSelected <> Me.id Then
    Forms![frmbuyersowners].Requery
End If

Exit_Command28_Click:
    Exit Sub

Err_Command28_Click:
    MsgBox Err.Description
    Resume Exit_Command28_Click
   
End Sub
0
Comment
Question by:proffittware
  • 12
  • 5
17 Comments
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 22665403
how do you open the Entry Form? postthe codes here
0
 

Author Comment

by:proffittware
ID: 22665455
For the EDIT:
Private Sub Command37_Click()
On Error GoTo Err_Command37_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "frmBuyersOwners AE"
   
    stLinkCriteria = "[id]=" & Me![id]
    DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Command37_Click:
    Exit Sub

Err_Command37_Click:
    MsgBox Err.Description
    Resume Exit_Command37_Click
   
End Sub

For the ADD:
Private Sub cmdAddBuyer_Click()
On Error GoTo Err_cmdAddBuyer_Click

    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "frmBuyersOwners AE"
   
    DoCmd.OpenForm stDocName, , , , acFormAdd

'    DoCmd.OpenForm stDocName, , , stLinkCriteria
    DoCmd.GoToRecord , , acNewRec
   
Exit_cmdAddBuyer_Click:
    Exit Sub

Err_cmdAddBuyer_Click:
    MsgBox Err.Description
    Resume Exit_cmdAddBuyer_Click
   
End Sub

Once the Entry Screen opens, then they hit an ADD button:
Private Sub Command36_Click()
On Error GoTo Err_Command36_Click
'add

    Dim stDocName As String

    stDocName = "Add Buyer to Buyer AE"
    DoCmd.RunMacro stDocName
' this macro setsvalues for basic information - year, location that are generic.

    Me.Refresh
   
Exit_Command36_Click:
    Exit Sub

Err_Command36_Click:
    MsgBox Err.Description
    Resume Exit_Command36_Click
   
End Sub
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 22665472
what about the record Id, is it autonumber? what is the name of the control in form "frmBuyersOwners AE"
0
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)

 

Author Comment

by:proffittware
ID: 22665514
ID is autonumber.

Name of Control ?
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 22665536
name of the textbox that holds the ID?
0
 

Author Comment

by:proffittware
ID: 22665553
ID
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 22665615
you will need to declare a global variable in a regular module

option compare database
option explicit

global newRecordID as long




in form "frmBuyersOwners AE"

Private Sub Command36_Click()
On Error GoTo Err_Command36_Click
'add

    Dim stDocName As String

    stDocName = "Add Buyer to Buyer AE"
    DoCmd.RunMacro stDocName
' this macro setsvalues for basic information - year, location that are generic.

'pass the value of the new ID to the global variable newRecordID
 
newRecordID=me.id

    Me.Refresh
   
Exit_Command36_Click:
    Exit Sub

Err_Command36_Click:
    MsgBox Err.Description
    Resume Exit_Command36_Click
   
End Sub




Private Sub Command28_Click()
On Error GoTo Err_Command28_Click
'save

Dim intIDSelected As Integer

'new
If IsNull(Forms![frmbuyersowners]![id]) Then
   intIDSelected = 0
Else
    intIDSelected = Forms![frmbuyersowners]![id]
End If

    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

' this points to the edited record
If intIDSelected <> Me.id Then
    Forms![frmbuyersowners].Requery

'Add these codes
    with me.recordsetclone
            .findfirst "[ID]=" & newRecorID
            if not .nomatch then me.bookmark=.bookmark
    end with



End If

Exit_Command28_Click:
    Exit Sub

Err_Command28_Click:
    MsgBox Err.Description
    Resume Exit_Command28_Click
   
End Sub

0
 

Author Comment

by:proffittware
ID: 22665641
I will try and let you know.
0
 

Author Comment

by:proffittware
ID: 22665729
Add your suggested code and the results did not change.

If I EDIT the record, then Exit, it will point to the record that was selected in the continuous form.

Adding one or more records, the pointer on the continuous form went to the first record.
0
 

Author Comment

by:proffittware
ID: 22665837
If I take out ...
    Forms![frmbuyersowners].Requery

Then the record pointer will point to the record EDITed and the record ADDED....but the ADD record does not appear in the ORDER BY order.

I have not tried more than one ADDed record which I will do now.
0
 

Author Comment

by:proffittware
ID: 22665861
One Edited record and two added records...it is pointing to the edited record when you exit the Entry form. The records are not in order on the continuous form....but if you exit the continuous and open it up again, the records are in order.

I do have a query in the record source of the continuous form  to put the records in Order by.
0
 
LVL 120

Accepted Solution

by:
Rey Obrero (Capricorn1) earned 500 total points
ID: 22665879
use this codes




 
For the ADD:
Private Sub cmdAddBuyer_Click()
On Error GoTo Err_cmdAddBuyer_Click
 
    Dim stDocName As String
    Dim stLinkCriteria As String
 
    stDocName = "frmBuyersOwners AE"
   
    DoCmd.OpenForm stDocName, , , , acFormAdd, acdialog
    
'requery the form
    me.requery
 
'Add these codes
    with me.recordsetclone
            .findfirst "[ID]=" & newRecorID
            if not .nomatch then me.bookmark=.bookmark
    end with
 
 
Exit_cmdAddBuyer_Click:
    Exit Sub
 
Err_cmdAddBuyer_Click:
    MsgBox Err.Description
    Resume Exit_cmdAddBuyer_Click
   
End Sub
 
 
Once the Entry Screen opens, then they hit an ADD button:
Private Sub Command36_Click()
On Error GoTo Err_Command36_Click
'add
 
    Dim stDocName As String
 
    stDocName = "Add Buyer to Buyer AE"
    DoCmd.RunMacro stDocName
' this macro setsvalues for basic information - year, location that are generic.
 
    Me.Refresh
 
'pass the value of the new ID to the global variable newRecordID
 
    newRecordID=me.id
 
 
   
Exit_Command36_Click:
    Exit Sub
 
Err_Command36_Click:
    MsgBox Err.Description
    Resume Exit_Command36_Click
 
End Sub

Open in new window

0
 

Author Comment

by:proffittware
ID: 22665884
Need to correct the comment above.
****
Then the record pointer will point to the record EDITed and the record ADDED....but the ADD record does not appear in the ORDER BY order.
****
Then the record pointer will point to the record EDITed. The ADDed record does not appear in the ORDER BY order.

0
 

Author Comment

by:proffittware
ID: 22665921
I will try your new code and get back with you...but what if they hit the EDIT button first, then the ADD button. Does that change things ?
0
 

Author Comment

by:proffittware
ID: 22666187
I called the user and they said they are first editing a record from the Entry screen, then they are adding (hitting the Add button) from the same screen.

The conditions I described are Edit first, then Add.

I am still trying the code for the Add directly from the continuous form.

Get back shortly.
0
 

Author Comment

by:proffittware
ID: 22666407
Well...this took me longer than I thought....

but still the same results...the continuous form does not show the new record in the order it should appear. I can click on A-Z and it appear in the correct order.

0
 

Author Comment

by:proffittware
ID: 22666619
I added

newrecordid = me.id

after my DoCmd for my save.

and it worked the way they wanted.  Thanks...
0

Featured Post

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

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…
In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…

803 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