If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
How to run event on other options
I created a data entry form with a Save button. This button runs thru a
procedure event which moves data to the proper fields, does a nested if-then-else statement and other things. I understand that when you tab to the last field, enter your data, then tab again or press enter, the new record is automatically written to my database. However, this does not run thru the code on my Save button. What is the easiest way to run this code. I can add it to the event for enter and Tab functions, or is there a way to tell it to run the Save_command procedure event. Also, what command do I want to use to put the screen back to blank and ready for the next new record. |
#2
|
|||
|
|||
How to run event on other options
On Fri, 14 May 2010 10:39:01 -0700, Mommybear
wrote: I created a data entry form with a Save button. This button runs thru a procedure event which moves data to the proper fields, does a nested if-then-else statement and other things. I understand that when you tab to the last field, enter your data, then tab again or press enter, the new record is automatically written to my database. However, this does not run thru the code on my Save button. What is the easiest way to run this code. I can add it to the event for enter and Tab functions, or is there a way to tell it to run the Save_command procedure event. Also, what command do I want to use to put the screen back to blank and ready for the next new record. So I take it this is an unbound form (nothing in the textboxes' Control Source) and that you've explicitly overridden the default form behavior in exchange for doing it all in code? That's certainly doable but it's the hard way! To force a save to disk from a *bound* form all you need is your choice of either: DoCmd.RunCommand acCmdSaveRecord DoCmd.GoToRecord acForm, Me.Name, acNewRecord or If Me.Dirty Then Me.Dirty = False DoCmd.GoToRecord acForm, Me.Name, acNewRecord If the form is in fact unbound, you must parse out each field individually, write it into the appropriate table record, and then explicitly set each field to NULL. Doable but lots more work! -- John W. Vinson [MVP] |
#3
|
|||
|
|||
How to run event on other options
The fields in the form are bound, however, I have other fields that are not
on the form that default to a value, are calculated, being formatted to write all caps, or go thru an if statement to determine value that are being populated thru this Event procedure. The save button works great, however, I don't know what is best in terms of handling the autosave when you tab or enter past the last field on the screen. Do I duplicate the code or is there a command that I could use to force this thru the save button code. "John W. Vinson" wrote: On Fri, 14 May 2010 10:39:01 -0700, Mommybear wrote: I created a data entry form with a Save button. This button runs thru a procedure event which moves data to the proper fields, does a nested if-then-else statement and other things. I understand that when you tab to the last field, enter your data, then tab again or press enter, the new record is automatically written to my database. However, this does not run thru the code on my Save button. What is the easiest way to run this code. I can add it to the event for enter and Tab functions, or is there a way to tell it to run the Save_command procedure event. Also, what command do I want to use to put the screen back to blank and ready for the next new record. So I take it this is an unbound form (nothing in the textboxes' Control Source) and that you've explicitly overridden the default form behavior in exchange for doing it all in code? That's certainly doable but it's the hard way! To force a save to disk from a *bound* form all you need is your choice of either: DoCmd.RunCommand acCmdSaveRecord DoCmd.GoToRecord acForm, Me.Name, acNewRecord or If Me.Dirty Then Me.Dirty = False DoCmd.GoToRecord acForm, Me.Name, acNewRecord If the form is in fact unbound, you must parse out each field individually, write it into the appropriate table record, and then explicitly set each field to NULL. Doable but lots more work! -- John W. Vinson [MVP] . |
#4
|
|||
|
|||
How to run event on other options
On Tue, 18 May 2010 06:36:01 -0700, Mommybear
wrote: The fields in the form are bound, however, I have other fields that are not on the form that default to a value, are calculated, being formatted to write all caps, or go thru an if statement to determine value that are being populated thru this Event procedure. The save button works great, however, I don't know what is best in terms of handling the autosave when you tab or enter past the last field on the screen. Do I duplicate the code or is there a command that I could use to force this thru the save button code. I'm not absolutely sure what is going on here - it sounds like you're (unwisely) storing derived or calculated data? In any case, the Form's BeforeUpdate event fires whenever and however it completes a record and starts to write it to disk. You might want to move your code from the button event to the BeforeUpdate event (which will be triggered when your Save button does its thing). -- John W. Vinson [MVP] |
#5
|
|||
|
|||
How to run event on other options
I have a database that has about 39 fields in it. Only about 20 of them are
actually entered. The others are either a default value, or a value based on what is entered in specific fields such as: box a = contractor box b =vendor, value stored = 1 box a = contractor box b = contractor, value stored = 2 This database consists of 30k records therefore, I can not change the way it works, only make it simple to add to. I figured out that all I needed to do was to add a Call to the on exit event. This works wonderfully for what I need. Thank you. "John W. Vinson" wrote: On Tue, 18 May 2010 06:36:01 -0700, Mommybear wrote: The fields in the form are bound, however, I have other fields that are not on the form that default to a value, are calculated, being formatted to write all caps, or go thru an if statement to determine value that are being populated thru this Event procedure. The save button works great, however, I don't know what is best in terms of handling the autosave when you tab or enter past the last field on the screen. Do I duplicate the code or is there a command that I could use to force this thru the save button code. I'm not absolutely sure what is going on here - it sounds like you're (unwisely) storing derived or calculated data? In any case, the Form's BeforeUpdate event fires whenever and however it completes a record and starts to write it to disk. You might want to move your code from the button event to the BeforeUpdate event (which will be triggered when your Save button does its thing). -- John W. Vinson [MVP] . |
Thread Tools | |
Display Modes | |
|
|