Bob Gajewski
rbgajewski at roadrunner.com
Sat Oct 15 15:43:10 CDT 2011
DataEntry = No AllowEdits = Yes -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust Sent: Saturday, October 15, 2011 12:57 PM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Record navigation - find versus new What are the Data Entry and Allow Edits properties on the form set to? Charlotte Foust On Sat, Oct 15, 2011 at 8:58 AM, Bob Gajewski <rbgajewski at roadrunner.com>wrote: > Hi All > > I am having trouble with what is probably one of the most basic > functions, but I just can't figure it out and would really appreciate > if someone could point me in the right direction. > > I have a data entry form, with one of the key fields called > TransactionsEntryNumber (text, length=8, required, indexed, duplicates > not allowed). I am trying to write the code so that when a user types > in an entry number, the code looks to see if it exists ... if it does, > go to the existing record ... if not, continue to the next field as a new record. > > <code> > Private Sub TransactionsEntryNumber_Exit(Cancel As Integer) > If IsNull(TransactionsEntryNumber) Or TransactionsEntryNumber = "" Then > Dim Msg As String, Response As Integer > Msg = "Do you want to have an entry number assigned?" > Response = MsgBox(Msg, vbYesNo + vbQuestion + vbDefaultButton1, > "Entry Number Assignment") > If Response = vbYes Then > TransactionsEntryNumber = > fAssignEntryNumber(TransactionsFilerCodeID.Column(1), > DMax("TransactionsEntryNumber", "tblTransactions"), 1) > Else > Cancel = True > Exit Sub > End If > Else > DoCmd.FindRecord TransactionsEntryNumber, acEntire, True, > acSearchAll, True, acCurrent, True > End If > End Sub > </code> > > The 'new' part works perfectly ... probably because I'm starting the > user in a new record: > > Private Sub Form_Open(Cancel As Integer) > DoCmd.GoToRecord , , acNewRec > End Sub > > ... it's the 'find' that keeps failing (error: unable to save; would > create > duplicate) > > <error> > Run-time error '3022': > > The changes you requested to the table were not successful because > they would > create duplicate values in the index, primary key, or relationship. > Change the data > in the field or fields that contain the duplicate data, remove the > index, or redefine > the index to permit duplicate entries and try again. > </error> > > Is it as simple as trapping the error? Or should I use two controls > and stack them? > > Thanks, as usual > Bob Gajewski > > -- > 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