Forms :: Add Multiple Records At Once To A Child Table From A Form?
Apr 16, 2015
I have an unbound new contact data entry form that adds records to many different tables. I have no problems adding one record to a child table at a time, but one of the things we are collecting is a list of online networks a person belongs to, and I want to be able to stick a "check all that apply box" on my form and have it add multiple records to the child table. Here's the basic set up, I have a parent table with the main contact information with a primary key field "IID", a lookup table with "Facebook, LinkedIn, Twitter..." etc in it with a primary key field "online_id", and a bridge table to link the two which should have multiple entries for IID, one for each online_id. I want to use a listbox (or something like it) that the user can select multiple online networks and then have records added to the bridge table. I can figure out how to add the listbox on the form, what I can't figure out is how to get the values out of the listbox. T
I have a parent table (tblLabels) and a child table (tblRevision) where the revision history for the parent table is kept.
The parent table is populated via an excel import and may have several records imported at once. Instead of having the user manually enter a new record note in the child table for each record imported into the parent table, I've created a form that collects the necessary data (date, person who added the record, person who authorized the record, and notes) and then creates a revision history for each new record.
This is what I have so far:
Code:
Private Sub cmdAddNotes_Click() Dim strSQL As String Dim RevisionDate As String Dim RevisionRevisedBy As String Dim RevisionDesc As String
[Code] ....
When I run the code nothing happens. No error, no new records create, etc. My suspicion is that I may need to use an INSERT INTO query instead of an UPDATE query, but I'm not sure how to go about matching up the foreign keys if that's the case.
I am trying to determine the best method for how to handle this query using Access 2013. I have a clients table that contains the following:
clientID fName lName admissionDate dischargeDate 1 John Doe 05/06/2014 06/27/2014 2 Jane Doe 04/24/2014 05/15/2014 3 Steven Smith 05/15/2014 NULL/Empty 4 Chris Davis 06/12/2014 NULL/Empty
Then there is a WeeklyProgressNotes table that is there for the person that is responsible for auditing the clients charts. It does not contain the actual weeklyprogressnotes, it only contains a Yes/No field and a date field for the date the weeklyprogressnote was completed. Like below:
I am creating a form that the auditor can open to determine what weeks she needs to check for each client to see if they have their weeklyprogressnotes completed that week. The weeks run Mon - Sun and there will be no record in the WeeklyProgressNotes table if she has not yet checked and confirmed for that week. So the form would basically look like this:
fName lName week completed date clientID(hidden) John Doe 5/19/14-5/25/14 Checkbox Null 1 John Doe 5/26/14-6/1/14 Checkbox Null 1 John Doe 6/2/14-6/8/14 Checkbox Null 1 John Doe 6/9/14-6/15/14 Checkbox Null 1 John Doe 6/16/14-6/22/14 Checkbox Null 1 John Doe 6/23/14-6/29/14 Checkbox Null 1 Jane Doe 4/28/14-5/4/14 Checkbox Null 2 and so on.......
I have thought about creating an SQL statement to select all of the clients and then creating a function that determines their admission date within the specific week and their discharge date withing the specific week and then create a loop with another SQL statement with a BETWEEN clause for all the weeks and determine if there is an entry in the WeeklyProgressNotes table or not. If not then I would display out the above info. I'm not sure if there is an easier, less search intensive way of doing it. Maybe an SQL query that can cut done on some of the looping.
In a listbox I have a one or more modules selected and will construct the SQL in the AfterUpdate, presumably.
How to get a query to list only those procedures that belong to all the selected modules? To get into the result list a procedure must belong to all the modules that were selected. The code below gives me all the procedures that belong to at least one of the modules selected. I need ALL.
Code:
strIN = Left(strIN, Len(strIN) - 1) ' list of ModID's of selected in listbox strSQL = SELECT tblModuleProcs.ProcID FROM (tblModules INNER JOIN tblModuleProcs ON tblModules.ModID = tblModuleProcs.ModID) INNER JOIN tblProcedures ON tblModuleProcs.ProcID = tblProcedures.ProcID WHERE (((tblModules.ModID) IN(" & strIN & "))) " ORDER BY tblProcedures.ProcedureTag;
I have a table for a multiple parents linked to a child table. I need to figure out a way to only allow 1 parent to be coded as primary, 1 as secondary, and then the rest as other... I thought about making Primary/Secondary/Other a primary key. But then I can only have 1 other. I would have to make a finite number of parents that could be entered and I want an infinite number.... My end goal is to have a report that only has a primary and second parent on it, but the rest of the parents still exist in the table...
I have an existing Main form that has a sub form that the user uses to enter multiple records into a table....it works fine EXCEPT that I need to make it even easier and more intuitive and add a lot of labels. Basically the user selects items from a drop down list that adds items to a Work Order. I need to add some labels to the form to make it more descriptive for the user.
So, what I want to add multiple records using a single main form.
Is is possible to?:
1. simply turn the subform into a single main form? Can this be done by using a Command button or something similar?
2. copy all of the controls etc from the sub form into a new main form and have it all work nicely?
I have a relationship between two tables; the parent table is "Client Information" with a primary key of "Client_ID", the child table is "Event Information" and the foreign key is "Client_ID".
I know that within the Event Information table I can select which Client_ID to use as the link. I want to have that done within a form, however. I have a form for Client Information with a subform for Event Information. If I go into the table and manually set the Client_ID then everything displays fine.
How can I set the Client_ID in the subform to automatically match the Client_ID in the main form? I can only assume that these solutions require the parent/child relationship to already have been established.
Sorry this is so long but I am trying to make it as detailed as possible...
The Setup
My database is similar to the sample "Service Call" db. I have a main table called "tblTT" which has an autonumber primary key. The table also contains several foreign keys such as UserID (not an autonumber) from "tblUser", TechID (also not an autonumber) from "tblTech", etc. I have the relationships setup with "Enforced Referential Integrity" for both updating and deleting records. Each relationship has a RIGHT OUTER JOIN ("Join 3" in access) so that all records from child (tblTT) and only equal from parent (tblUser, tblTech, etc.) will be included. I have a form for nearly every table which serves different purposes but the main function of the DB is to create new Trouble Tickets (TT's), a.k.a. service calls. Therefore the main form used is my "frmTT" form in add mode. The form contains all the fields from my "tblTT" table and contains (directly) no fields from any other table (I guess indirectly it contains fields from all the parent tables...).
The Problem
When I pull up "frmTT" and try to create a new Trouble Ticket for a user that does not yet exist in the table "tblUser" I get the error "You cannot add or change a record bcause a related record is required in table 'tblUser'".
What I want is for my users (the "Techs") to be able to create a new Trouble Ticket without having to worry about populating the "tblUser" table (and other parent tables) first.
My Solution
I was going to (and unless someone can find an answer for me still will) fix this using VB script by setting up a query to check all the parent tables for the values in their corresponding fields in the form. If the query returns no results an "INSERT INTO" statement will run to populate the parents tables so that the form will save itself into the Trouble Ticket table ("tblTT").
I feel that this is a huge work around and not the proper fix. I would prefer to do this the right way both to have a correctly setup DB and for future reference. Can anyone help me with this?
Off of the same dB I would like to create a subform which will allow me to enter multiple records to the main table, the one attached to the main form. How to go about creating one?
How to structure some MS Access 2007 Forms for the following scenario.
My table structure is as follows:
Product ++++++ ID (pk) ProductName ...
Tag ++++ ID (pk) TagName
ProductTag +++++++++ ProductID (fk) TagID (fk)
I want to have a main form that allows me to search for and displays a list of all products (and the dozen or so attributes for each product) that meet that criteria (I'm thinking a continuous form view of products).
So far so good. No problems.
Now I want a "tagging" form to the right of my continuous forms product list that is linked to the product which currently has focus. The tag panel should always show a complete list of all Tags. I want a checkbox next to each tag that I can switch on and off whether that tag applies to the currently selected Product. I also want to be able to add tags on the fly (without leaving the main form).
I think I have three forms in play :
Main Form Product Form (subform to Main) my product search criteria is probably on this form header. Tag Form (also subform to Main)
But with this approach I'm have trouble linking the two sub forms to each other. Actually, I'm having huge trouble figuring out how to display the list of all tags with a check box that when checked on and off creates / deletes a record in the ProductTag table and I really want Access to do as much of the CRUD as possible. I would prefer to avoid writing screeds of SQL INSERTS/DELETES on events. Am I asking too much of Access?
It basically is used to create, manage and track Customers, Parts, Work Orders and Suppliers, payments and employees.You simply create a Customer and then create a Work order that contains a list of parts and labour items.
What I want to do is to create a "Kit" of parts so that the user does not have to select each part individually when they create a Work Order. For example, if I use a mechanics workshop as an example, the mechanic may sell his "Signature 1916cc Engine" that consists of 40 different parts and some other items such as labour and other services. In this scenario, instead of the user individually selecting 40 different parts, all he needs to do is select the Kit called "Signature 1916 cc Engine" from a drop down list and all of the 40 parts and other items would automatically populate the correct Work Order Parts/Labour tables.
I would also like the user to be able to select another "kit" that would either replace all parts and labour records or append to what is already there.
I have changed the form called "Workorders" to have 2 buttons. One called "Load Kit" the other called "Save Kit".If the user presses "load Kit" a form will be displayed that enables them to select a "kit" from a list and whether they want to replace all of the existing parts and labour records or if they want to append to the existing records.
In order to create a new kit, the user can simply manually create a new work order by individually selecting each part and labour item and then pressing the "Save Kit" button. The user will then be asked to provide the short name of the Kit and the long description (I have created table called tKit). The new kit will then be saved.
It appears that the "Entered by" field that is linked to the Employee table must not be blank other wise the Workbook is NOT saved....I have tried to figure out why this is happening but can't!
The Work Order Parts are stored in "Work Order Parts" and the Work Order Labor is stored in a table called "Work Order Labor". I have created 2 extra tables called "tKitWorkOrderParts" and "tKitWorkOrderLabor" that I assume will contain the items that make up the kits..
I want to create a form in MS access for General Journal input for an accounting software. Problem is that my client required a form in which he can input as many Debits and/or credits as he likes, for one transaction on one form. For example it may be 2 debits and 4 Credits in one transaction. Its a simple one table entry with fields; TrNo (Transaction Number), Date, Type (Debit or Credit), Amount, and Narration (for details of transaction). Out of these field TrNo, Date & Narration will be same for all debits & credits in one transaction.
Basically I have a table where freelancers have multiple records for each module they teach. What I am trying to do is show all records for each person onto the same form, but anything I have followed still only brings up the first record.
This information is all on the same table, so would this be easier to be on separate tables to then create relationships?
I need to create some new records based on main form data and a selection of records from a sub form. The main form and sub form have different sources. I wanted to show the source fields in the sub form along with a check box to allow the users to select individual records. The record source for the sub form contains >1000 records, so the user will first enter data in the main form, use filters to find the records he wants to 'assign' to the main form data, click those he selects, then click a command button in the main form to create the record(s) based on the main form data and the selected records from the sub form. The new records will be appended to a new table.
I am attempting to setup a database and need setting up a form that captures/enters multiple records from one form.
We have batches of case files consisting of 25 folders each. I would like to setup the form where the user only has to enter the [User], [FileGroupID], [Examiner] and [DateAssigned] just once, but also allow for the individual 25 case file numbers in that batch to be entered. (See attached image)
So far I have created 2 tables; BatchLog table which would capture the batch details that is entered once and a CaseFiles table which would capture the individual case file numbers.
I've developing a QA/QC database for testing chemical products and I'm stuck on the best way to continue with adding multiple records by using one form.
I have two tables:
tblProductSpecs with two primary keys, "ProductName" and "TestName"
tblResults with three primary keys, "ProductName", "TestName", and "LotNumber" and a number field named "Value"
A product can have multiple tests associated with it, e.g:
ProductName - TestName XXX - Density, pH ZZZ - Density YYY - % soluble, cloud point , freeze point This is my tblProductSpecs table
I want to store the "Value" of each "TestName" of the "LotNumber" of that "ProductName" in tblResults by a form. (All TestName values are number values).
I want a form where I can select "ProductName" and have the "TestName"s displayed for that "ProductName". Then I want to store the value of that "TestName" for that "ProductName" and "LotNumber" in tblResults.
The problem is that each test per product per lot number is a record and I can't figure out a way to create multiple records from one form.
I work at a small mental health clinic and am trying to accomplish the following.
What I have:I have one table that lists all of the patients, their phone number, address, etc.
In another table, it lists the medications that each patient takes, as well as the strength, dosage, etc.
The two tables have a relationship via the "Patient ID" column in each table.
Most patients have multiple entries in the second table, as most patients take multiple medications.
What I am attempting to accomplish:The main form in my database simply lists all the patients names in datasheet view. I want to be able to click a Patient's name, then go to a form that lists all of that patients medications. I've attached a screenshot that encapsulates precisely what I am looking to accomplish.
Since most patients take multiple medications, I need to be able to list multiple records in a single form, grouped by medication name, just like in the attached image.
I am uncertain as to how to accomplish this. I've tried using subforms but it doesn't list the data at all? Also, it looks like an Access report can create precisely what I need, but I need to have a live form that I can use to update data real-time.
I have a form that a user will use to search records. Upon selecting a record, there are three buttons that allows the user to look at more detailed information. This information will be on the many side of the relationship. So I will have multiple values. The called form is just a popup form that I use for several other instances, like displaying memo fields from other tables.
The problem I am having is that only one record shows up at a time on the called form. I have read through the postings and have changed the properties for Default View, Filter on Load, Data Entry, etc. Nothing seems to change the outcome. I have run the query in SQL view and have no issues. It returns the correct records and multiple rows when expecting. Why they don't show up on the form. There are no errors, just the first record from the many side of the relationship shows up in the form. I would like all records to show up, just like when I run the query.
Code:
SELECT Capability FROM Process_Meetings_Capabilities, Process_Meetings WHERE Process_Meetings_Capabilities.Meeting_ID = Process_Meetings.Meeting_ID AND Process_Meetings_Capabilities.Meeting_ID = 2;
Button Code
Code: Private Sub Capabilities_btn_Click() strSQL = "SELECT Capability AS Results" strSQL = strSQL & " FROM Process_Meetings_Capabilities, Process_Meetings" strSQL = strSQL & " WHERE Process_Meetings_Capabilities.Meeting_ID = Process_Meetings.Meeting_ID" strSQL = strSQL & " AND Process_Meetings_Capabilities.Meeting_ID = " & Me!Meeting_cmbo.Column(0)
trying to enable database users to filter records based on column names which i have in a combobox. They enter the required value in a textbox and click the "Find" button.The code (linked to button click event) is not throwing any errors but the records are not being filtered.
Currently we track areas of non-conformance for a fleet of flight simulators. Each flight simulator has a particular ID number. In some instance an area of non-conformance is associated with a single simulator, at other times it is a fleet wide issue and applies to all or some simulators. In order to track as well as advise leadership and the contractor responsible for maintenance of the simulators of the situation we generate individual response letters.
In order to track each instance of non-conformance my idea was to create a new record for each deficiency. In the event that it is applicable to multiple simulators I would like to fill out the form with all pertinent data and then place a checkbox associated with each simulator and when the record is saved, it creates one record for each simulator with a checkbox ticked.
Once the deficiency on each simulator is fixed, I would check a box for a field called rescinded, which would remove that particular deficiency on that particular simulator from the active list of deficiencies but the others would still remain because they are associated with unique records.
I have a form listing tasks to which I make personnel assignments with a multi-value list field type. It takes some time to select from 15-25 employees on the list for each task, especially considering that small groups of employees will be assigned to the same selection of tasks.
What I want to do is select multiple records with the mouse, then click a command button opening a form in dialog mode with the selection list. The user then clicks to make his selections and clicks ok, which then updates the multi-select field for the selected records.