View Single Post
  #6  
Old March 29th, 2010, 10:24 PM posted to microsoft.public.access.gettingstarted
Steve[_77_]
external usenet poster
 
Posts: 1,017
Default Generating a new Record

Hello Ray,

A simpler way to do what you want is to make the rowsource of both
comboboxes a query based on your address table. Only include property "Name"
and the required property "Number". In the query, right click in the query
window where the address table is and click on Properties. Set Unique Values
to Yes. Now in either combobox if the user does not find the Name or Number,
in the drop down list, he automatically knows the address is not in the
address table. So you provide a button near the comboboxes to open your form
for entering new addresses in the address table. In the code for the button,
you can have it so when the form for entering new records closes, you
automatically requery both comboboxes so the new address will show up in
both comboboxes.

Steve





"Ray C" wrote in message
...
Hi Arvin, I am not sure if I explained my problem badly or if I am just
too
dumb to understand your solution but I have tried the code that you
provided
and I can not get it to generate a new Record in my Table.
Please let me try to explain my problem again and i would be pleased if
you
could give me any pointers as to where i am going wrong in my
understanding
of your answer.

I have a pretty standard table holding property information (Address etc)
but eac property has a NameAddress info. The Table holdsname and
addresswith
the Name (normaly the Town where it is) and also a Property Number
(provided
by the Owner). The table has an "Auto Number Index" and holds other
information about the property. Because the user may wish to search the
Table
by either the property name or the property number, I have two combo boxes
that providr drop down's for the user to select as needed. Once the user
has
selected the required property "Name" or the required property "Number" i
have a ruotine that searches through the Address Table, finds the record
and
displays all the fields in that record. All of that is fine.
What I am wanting to do is for the user to be given the ability to Add a
New
Record to the Table if the information they entered in the Combo Box is
not
found in the Address Table.

My Current attempt at a sollution to this is to use the notIn List event
to
branch off to a routine that should generate a new *Blank" record that
will
be appended to the end of the adress Table, and show the user a form full
of
Blank Fields (with the exception of the information they originally
searched
for). The usr should then fill in the blank fields before saving (or
rejecting) the "New Record" appended to the end of the Table.

As I tried to explain originally I experimented with the "DoCmd GoToRecord
acForm, meName, acNewRec", this does generate a new Record in the Table
and
present the user with a series of blank Fields to complete but any
information that is enterd into the blank fields is inserted into the
previous record.

I hope that this helps.
Thanks for your patience
RayC

"Arvin Meyer [MVP]" wrote:

That depends upon the constant you use:

acDataErrDisplay - (Default) Displays the default message to the
user.
You can use this when you don't want to allow the user to add a new value
to
the combo box list.

acDataErrContinue - Doesn't display the default message to the
user.
You can use this when you want to display a custom message to the user.
For
example, the event procedure could display a custom dialog box asking if
the
user wanted to save the new entry. If the response is Yes, the event
procedure would add the new entry to the list and set the Response
argument
to acDataErrAdded. If the response is No, the event procedure would set
the
Response argument to acDataErrContinue.

acDataErrAdded - Doesn't display a message to the user but enables
you to add the entry to the combo box list in the NotInList event
procedure.
After the entry is added, Microsoft Access updates the list by requerying
the combo box. Microsoft Access then rechecks the string against the
combo
box list, and saves the value in the NewData argument in the field the
combo
box is bound to. If the string is not in the list, then Microsoft Access
displays an error message.
--
Arvin Meyer, MCP, MVP
http://www.datastrat.com
http://www.accessmvp.com
http://www.mvps.org/access


"Ray C" wrote in message
...
Hi Arvin, thanks for coming back to me, it is much appreciated.

I don't think that I need the generic NotinList code, I have that. I
think
I
need to understand if the NotinList code will add a new record to the
Table
or of it will modify the Drop Down List only. Forgive me pleas, I get
confused when dealing with Tables and Forms.
Thanks RayC


"Arvin Meyer [MVP]" wrote:

If you're looking for generic NotInList code:

http://www.datastrat.com/Code/NotInListCode.txt

or a demo of that code is at:

http://accessmvp.com/Arvin/NotInListDemo.zip
--
Arvin Meyer, MCP, MVP
http://www.datastrat.com
http://www.accessmvp.com
http://www.mvps.org/access


"Ray C" wrote in message
...
Can anyone help point out what i am doing wrong Please?
I want to generata a new record and I get to that point by having
the
user
enter a search for a record in a Table via a combo. When the record
is
Found
in the Table, no problem The user can view the Record, Edit it, etc.
When
the record is not Found in the Table, the "not in List" event
triggers
the
question "Not Found, Do You Want To Generate"? The answer "Yes"
triggers
the
Code
DoCmd.accNewRecord acForm,Me.Name,acNewRec
My Form then displays a blank series of Fields (Name Address, etc)
and
my
thought proccess is to just tell the program to go into my normal
"Record
Edit Routine" to enter the information into the Blank Fields of what
I
think
is the new Record.
HOWEVER, when I look at the Table the new record is there but the
informatiion I enter via my Edit Routine is saved in the previous
Records@
Fields.

Its as though the new record is generated after I have edited the
Previouse
Record's Fields (though the previous record's information is not
displayed
when I am editing what i think is the new record). Am I missing
something
like "Requery" or Append or something similar to fix the New Record
as
the
New Last Record?

Everything worls fine EXCEPT when I look at the table, there is a
new
Record
under the name that i originally entered but any subsequent
information
i
entered into the blank Records are there BUT they are held in the
previous
records fields.
Any Help appreciated.

Regards Ray C


.



.