Solved

Cancelling AddNew entry.

Posted on 1998-01-03
6
194 Views
Last Modified: 2006-11-17
During an AddNew procedure, how can I allow the user to cancel what he has typed so it does not get written to the database?  I am using VB4/32.

Thanks,
Don
0
Comment
Question by:deross
  • 5
6 Comments
 
LVL 8

Accepted Solution

by:
mrmick earned 50 total points
ID: 1449047
If you do not invoke the .UpDate method, it will be canceled.  Once you perform and .Update, you'll have to just delete the record.
0
 
LVL 8

Expert Comment

by:mrmick
ID: 1449048
By the way, this is also true of the .Edit method, if you don't invoke the .Update method, changes are discarded.
0
 

Author Comment

by:deross
ID: 1449049
But if I move to another record using the data control or even if I close the form that my AddNew procedure is on, the record still gets added.
0
Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

 
LVL 8

Expert Comment

by:mrmick
ID: 1449050
Whoops, Until you use the update method, no changes are made, but the record is still added.

To delete the most recently added record use the following (assumes rs = your recordset):

   rs.bookmark = rs.Bookmark = rs.LastModified
   rs.delete

Note: Always keep a backup the database until you're sure your code is working properly when coding any type of delete.

0
 
LVL 8

Expert Comment

by:mrmick
ID: 1449051
Make sure your procedure only executes the above code if a record was added and the user decided to cancel.
0
 
LVL 8

Expert Comment

by:mrmick
ID: 1449052
A possible method of insuring the added record is used or deleted would be to create a module level variant variable called AddedUnused.   Assign the bookmark of the newly added record to AddedUnused.  Then call a separate procedure that looks like this to cancel:

Sub CheckUnused()
Dim rs As Recordset
 If Not IsEmpty(AddedUnused) Then
  rs.Bookmark = AddedUnused
  rs.Delete
  AddedUnused = Empty
 End If
End Sub

If you choose to use the above sample, make sure you set AddedUnused = YourBookMark directly after you invoke the AddNew method... AND directly after you invoke the .Update method, set AddedUnused = Empty.  In the form unload event, you could call CheckUnused() allowing your user to close the form as another means of canceling the edit OR you could make sure AddedUnused = Empty in the Form_QueryUnload event to decide if you would permit your user to close the form without first canceling.

0

Featured Post

Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

Question has a verified solution.

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

Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
When designing a form there are several BorderStyles to choose from, all of which can be classified as either 'Fixed' or 'Sizable' and I'd guess that 'Fixed Single' or one of the other fixed types is the most popular choice. I assume it's the most p…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

831 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