I have a database with following tables. I use Access from Microsoft 365.
ID
Title
Name
1
House
Foreign Key Name
2
Tree
Foreign Key Name
Name
Peter
The form for the first table has a combo box to select the name from Name-Table.
I want it to create another entry in Name-Table if the inserted name doesn't exist.
LimitToList = No didn't create a new entry in Name-Table but saved that text instead of a Foreign Key.
to add to J7 post: the combo box control is a combination of a list selector and a text box.... so one can either select from its list and/or enter something manually like a text box... but that entry does not append to the table which is the record source of the combo box.
the J7 reference provides instructions on how to code that append.
a non code alternative is to label "if not in list" with a button that pops up a continuous form for addition of information to the table... then close the pop up form, refresh the combo box - and that new entry is there...
Related
Challenge: I've created a simple repository in MSACCESS (#1) that displays one or more owners of a corporate server.
The sub-form "asset-owners" is linked to the corp-assets main-form (#2). I've added a pulldown whereby the user can select a name (#3) from the address_book (#4) table and prepopulate the owners sub-form.
Objective: I would like to auto populate the associated "Occupation", "Favorite Food", and "Favorite Movie" fields when the user selects a name from the pulldown (#5).
I am not exactly sure how I should configure the occupation food and movie fields to auto-populate with such data AFTER the user has selected the name. I was thinking an inline query for each field, but I suspect it may be simpler than that.
Note: occupation, food, and movie data comes from the address_book (#4).
Many thanks!
I hope you don't want to repeat data in another table. If you just want to display the related data, options:
create multi-column combobox then expression in textbox references combobox column by index - index begins with 0 =[comboboxname].Column(1)
include lookup table in form RecordSource and bind textboxes to fields - set them Locked Yes and TabStop No
DLookup() expression in textbox.
I am currently trying to make a database titled invoice management system for an organization who provide services in different departments. I have created three tables.Tables used in database with fields.
I have then created a query to create an autofill form based on Alias from InvoiceTable and all other fields from AttentionTable except Alias. Autofill Form with Alias from IvoiceTable and rest of the fields from AttentionTable. Alias in InvoiceTable is a combo box whose data source is Alias in AttentionTable. I just want to select Alias (InvoiceTable) from this form to automatically fill the rest of the fields of AttentionTable. Till that point I am successfull. But, I also want to add new record of AttentionTable from this form if the record is not available in the Alias dropdown list. I have tried multiple ways but in vain. I know that i can't enter new record in Alias field because Alias is a foreign key in InvoiceTable. Is there anyway to enter new record in foreign key and update the primary key with this record as I can't enter new records in this field if I need to enter a new record for attention table? I hope you got my point. (Althought I have created new form for first entering record for Attention table and then use this form, but I want All in one in this form)
I hope you help me to resolve my issue. Thanks in Advance.
I am using Oracle with Oracle Forms builder (Middleware) both 11gR2. I am creating a system for purchasing records. I have the following 2 tables.
(a) product (master) : prodid(PK), prodname ...... etc.
(b) purchase (detail) : prodid(FK), quantity, ...... etc.
My plan: All the product details will be in the product table. purchase table will be used only to input purchase information. This table can't input any new product. If any new name, that info will have to be input into product table first. This way I can reduce duplicate names.
Now I am having difficulties relating to prodname (name of the product) column in the form.
I created forms using the purchase table only. This table does not have the prodname (because I put this field in product table) column. But during data entry, they need to see the product name !
So I created text item (tabular, database - no). Then I created LOV, attached to text item, input the prodid in prodid field in the form. LOV part is fine.
I run the form. click the text item, LOV appears, select a name, click OK. product name, product id, etc. appears in their fields as it should be. LOV is working fine. Now I can only input data but having difficulties updating. I mean if I input a name (LOV) in the text item, press execute query, shows records from the database but names in the text item disappear. Since the name is not here, it's not comfortable to update.
I think LOV is not the good idea here. May be I need to use PL/SQL in a trigger somewhere.
But I could not figure it out. I searched google but no luck. Is there anyone who can give me any idea or some example code/trigger please.
Since the product name is an non-database item, when execute query runs, the field is cleared and since no column is assigned to that field, it doesn't repopulate.
The usual way to populate this field is to have a function which returns the product name based on the id that is pressed and call the funtion in POST-QUERY trigger.
Basically it's a pretty simple task but I was having difficulties due to the lack of my experience. However, what I have done is -
create the text item (name : product_name) in the canvas
set properties for the product_name (database : No, .... etc as needed).
Create a block level POST-QUERY trigger and write the PL/SQL block to populate the field. For example, I wrote the following.
BEGIN
SELECT prodname INTO :purchase.product_name
FROM product WHERE product.prodid = :purchase.prodid ;
END ;
That's it and when perform execute_query in the form, it will bring the product name from another table. - Query problem is solved.
Now create an LOV using product table to bring the product name and product id.
Associate this LOV to the product_name text item. So whenever you need to input information about a purchase, just use the LOV to populate the product name field. And then input the subsequent fields as well.
This way both of my issues (query and data entry) are resolved.
I did this according to the suggestions given by Sathya and a video (6 minutes) from the youtube at https://www.youtube.com/watch?v=0nqldnGt8KA.
Thanks to Sathya and youtube.
I like working on my schema directly within a database diagram. From there, you can set table properties, column properties, add columns, remove, etc. (in addition to, of course, being able to easily define relationships).
However, it doesn't seem to be possible to insert a column at the end of a table's columns or to reposition existing columns. I can insert a column by selecting an existing column and right-clicking > "Insert Column", but that column always appears above the selected column. When I do this and create the column, I cannot drag it to reposition the column despite the drag cursor appearing.
Is there a workaround?
I like to use database diagrams too. If you right click on the header of the table and select Table View -> Standard you will be presented with an editable grid which allows you to add a column to the end of the table.
I should also say that you can also use Table View -> Modify Custom to allow you to modify all attributes of a column such identity etc. Once you have done this you can use Table View -> Custom to be able to update these.
Step 1: User right click on table
Step 2: User left click on "Standard (menu item)"
Step 3: User left click
Step 4: User keyboard input to enter new column
Thank You
I'm creating a HR database in access 2007
I have a main table of employee info and several tables that relate to that table ( education for example) that list the acceptable elements that can populate that cell in that row
When i create a form it was created as just a plain text field which is constrained but I wanted to create a dropdown that had just the data that they are allowed to enter to avoid confusion.
You should be able to right-click the text box and select Change To -> Combo Box.
If you are not familiar with creating controls, it is best to use the wizards. Select a combobox from the toolbox and add it to your form, you will be guided through creating the type of combo that you want.
You should also examine the relationships you have created.