William Hindman
wdhindman at bellsouth.net
Thu Apr 1 09:48:34 CST 2004
...that "wizard" simply bites ...I'd create a "duplicate" button that saves the pk of the current record to a variable or tag and then a query using the saved pk to append a "new" record that is a duplicate of the saved one except for the pk ...that would get you a dupe of every form field including any subform. William Hindman ipsedixitism: something is true because I myself have said it is true ...the philosophy of Noam Chomsky :) ----- Original Message ----- From: "Brock, Christian T, HRC-Alexandria" <Christian.Brock at hoffman.army.mil> To: "'Access Developers discussion and problem solving'" <accessd at databaseadvisors.com> Sent: Thursday, April 01, 2004 10:22 AM Subject: RE: [AccessD] Add new record + fill fields with last entered data? > Why go to the trouble? From the statement of intent, What the user really > wants is a duplicate current record button, instead of a new record button. > The Access XP command button wizard will allow you to create a button that > will duplicate the current record. > > It creates the following lines of code > DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 > DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70 > DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append > > Obviously MS did not update the wizard to use readable code. The following > will work as well. > DoCmd.RunCommand acCmdSelectRecord > DoCmd.RunCommand acCmdCopy > DoCmd.RunCommand acCmdPasteAppend > > > Christian Brock > > > > > -----Original Message----- > From: Gustav Brock [mailto:gustav at cactus.dk] > Sent: Thursday, 01 April 2004 09:36 > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Add new record + fill fields with last entered data? > > > Hi Tina > > > I begin to understand. At the OnCurrent Event for the Form, the Event > > Procedure will set the DefaultValue of each TextBox to the values > > determined to already be stored in the record just saved. Is that > > correct? > > Yes and no. No saving needs to take place: > > At the OnCurrent Event for the Form, the Event Procedure will set the > DefaultValue of each TextBox (or ComboBox etc.) to the values for the > current record of those controls. > > > Does this require explicitly listing each TextBox of the form? > > Yes. > > /gustav > > > >>>How does one set the DefautlValue at OnCurrent? I don't know how to do > >>>that. > >> > >>That's not difficult - something like this: > >> > >> Dim txt As TextBox > >> Set txt = Me!txtYourTextBox > >> > >> txt.DefaultValue = txt.Value > >> > >> Set txt = Nothing > >> > >>However, DefaultValue should be a string which means that if your > >>textbox contains decimals or a date/time value you must be careful and > >>convert to a string in US format: > >> > >> txt.DefaultValue = LTrim(Str(txt.Value)) > >> > >>or > >> > >> txt.DefaultValue = _ > >> Format(txt.Value, "\#mm\/dd\/yyyy hh\:nn\:ss AM/PM\#") > >> > >>/gustav > >> > >>>>Tough day? No coffee? > >>>> > >>>>Set the DefaultValue at OnCurrent. > >>>> > >>>>As for Stuart's note on the KeyPreview, it's not a user feature, but a > >>>>property of the form. > >>>> > >>>>/gustav > >>>> > >>>>>when a user clicks the 'Add new record' button (s)he wants the data of > the current record to be displayed in the new record. > >>>>>So if a user is on record 999 with field username filled with AAA and > then clicks on 'Add new record' then a new record (1000) must appear with > the field username filled with AAA. > > -- > _______________________________________________ > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com > -- > _______________________________________________ > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com >