Modules & VBA :: Adding Multiple Subrecords To Another Table
Oct 12, 2014
I have 4 tables: Table1, Table2, TableA and TableB.
Table1 is effectively a master table with Table2 being a sub-table (one to many) with an appropriate linking field (lets call it 'MasterID'). TableA and Table B have the same relationship.
I have a form with Table1 as the source showing a subform listing all related records in Table2. There is a button on the master form that uses AddNew to create a record in TableA based on the data in Table1. I also want the button to add the appropriate number of records to TableB based on the linked records in Table2.
I cannot work out how to select the appropriate records only and add them to the table.
Hi there, hopefully you guys can help me with a problem I'm having with a DB.
We have an Product Returns database we create which is used when a customer needs to return a product for a replacement, repair, testing etc. Currently it works fine buts quite limited in that if a user returns 1 item no problem, all the details go in OK. However, if a user needs to return 5 items all we can do is specifiy 5 in a quanity field and then add exta information about the items into a general description field. We also need to be able to assign these to different departments.
For example. The request has been logged, customer has a returns number and the items turn up. In these we have 10 items of which 4 need to go to department one, 3 to department two, 1 to department three and 2 to department four. Creating this form I'm OK with.
Next however is the problem. What we then want to do is have a form come up for each department in turn, with a dropdown list or text field for the number of items that are to go for that department. So if there were 4 items for department one I'd want 4 boxs to appear, then on the next screen I would need 3 boxes to appear for department two.
The info needs to be kept separate as well as later on when items have been repaired or whatever we need to be able to mark individual items are compeleted.
I'm really stumped on how I would get differing quantities to be associated with one main record and how I'd get these auto numbered etc?
I have a form that the users enter data into and send a report each day. I would like that in a click of a button all the data I entered the day before and that have ="Open" will be entered into the tables with today's date. Is that possible?
I want to make a table where in I have to input atleast 10 numbers in one reference ID which there is a start time and end time.
A form with inputing one reference ID and then adding multiple numbers at once and saving the data with a start time and end time. Is it possible to capture the time for that specific reference ID?
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 form where there is just a combobox and a textbox, the user uses the combobox to select the record they want to change and then they enter a value in the textbox which needs to be added to a field in that record.
I get a runtime error "object required" what to do. The textbox is called DeliveryValue and the record I want to add it to is called StockNumber in a table called Products.
I am working with a database that deals with trailers. What is happening is a salesman takes an order for a make and model for a trailer for a customer. The customer can then add some customization to the trailer such as more tail lights or tie down straps. They add the customization on a form called frmCustomQuote. On frmCustomQuote there is a subform called sfQuoteConfigs. On sfQuoteConfigs there is fields such as category and sub catergory that get populated bases on what was selected.
On frmCustomQuote there is a button called "Copy Quote" this will allow the salesman to make an exact copy of the trailer and customization. The quotes are held in a table called tblQuotes and the customization is held in tbQuoteConfigs. Now my problem is when I click on Copy Quote it only copies the first record into tbQuoteConfigs. I can't figure out a way to tell my code to move to the next record within sfQuoteConfigs.
My code:
Code: Option Compare Database Option Explicit 'Setup ADODB connection to the tblQuotes Dim adoQuotesCustomQuote As New ADODB.Recordset 'setup ADODB connection to the tbQuoteConfigs Dim adoQuoteConfigsCustom As New ADODB.Recordset 'Dim the Variables
Can I create a table in the back end of my database using VBA in the front end? My client is using this system and I can't easily go to their location. I need to create a table on the back end and have it available in the front end applications. My thought is to create a front end only for the purpose of updating the backend with this new table. My idea is now to have it open with a button for the user to click - this will add the table to the backend with the required fields, confirm the update was completed and then close. This app then would be trashed so it would not be run again. (Though I would put a check in the VBA that if the table existed, the user would get a message box and the coding stopped to avoid overwriting the existing file.)
And once the table is created, is there a way to programmatically link it to the front end. I will be providing a new front end with this update so I could add something in the new version.
I am currently working on an Access Database that houses our security clearance information. Most of the system is up and running but the most recent form has got me spinning my wheels. I have a Word User Form that users will download and complete, once completed the macros will automatically send us the document to be added to our database. Most of this is working the problem is that this portion of the database has multiple related tables and at any given time a user may require multiple records in the related tables. I have created the code to copy most of the information but am getting stuck adding a new record on the sub-form when multiple items are required. Here is a breakdown of the scenario
Word Doc Table 1 = Basic Organization Info Word Doc Table 2+ = Sites to Visit (There could be more than 1 table added here) Word Doc Table 3+ = People to go on site (this might not be the third table based on user interaction for sites)
So far I can get Table 1 and Table 2 data but if there are more than 1 site I cant seem to get the system to create a new record on the related table it is creating a new record on the main form. Here are the lines I used to try to create the related record..
When I put just the above code on a button it seems to have worked as the sub-form showed an additional record was created but when using this on my macro the sub-form is not taking the focus for some reason.
I have a form to add a record to a table. How can I give the user a way to close this form without saving the just created record.
I tried
If me.dirty then DoCmd.RunCommand acCmdDeleteRecord endif
This works, but gives a messagebox in return to confirm the command, and I don't want that. And I try to avoid sendkeys. I also don't want to change the options of access.
I have a form that allows a user to complete a stock take. I would like to stop other users from receiving or despatching stock while a stock take is in progress.
Is there a way I can lock a table, or stop users adding or altering records that match certain criteria. i.e. don't let users receive or despatch stock from with a locationID of 'A'.
In a situation where I imported an excel file with so many columns and split them into two temp tables and they are linked using a key.
the data has a fixed part lets say
Field1....Field2.....Filed3.....Field4...then Field5.....Field6.....Field7....Field8 is the same data range as Field9...Field10...Field11...Field12. I would want to split this data into multiple rows like this
Field 1 Field2 Field3 Field4 Field5 Field6 Field7 Field8 Field 1 Field2 Field3 Field4 Field9 field10 field11 field12 and so own...
I am building a simplified re-order point system - if inventory position drops below a certain level (the yellow level is this case) one or more purchase order lines has to be created in another table.
I have one table with the following field and data:
ItemId Red Yellow Green Multiple Inventory position 0001 10 30 50 5 45 0002 5 40 47 5 23 0003 11 20 30 10 5
I would like to generate new records (in another table) based on the above fields and three records.Basically the end result should look as the following:
The logic is quite simple - if inventory position is less than the yellow value new order lines should be created in multiple qty (based on the multiple field) until the aggregated value (in table 2) is above the green value.The priotization value should be based on the start inv (in tbl 2) compared to the values in red, yellow and green in tbl 1.
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 have multiple tables all are connected 1 to 1 link the main field is autonumber field i want that if i enter id in one table it is added to other tables
I need to import a html file automatically BUT my file has many tables in it, when I am doing the importation it asks about which table I want to import, the thing is that I always want every tables. The number of tables is variable. VBA code so it can have a looping which says to import every table in my HTML file?
I'm trying to set up a way to import and combine excel files that contain multiple data sets. So for example, each excel file has a summary heading which consists of the first 3 rows.
Each data set thereafter consists of approximately 50-60 rows of data that I would like. There are approximately 1400 groups of data. Each group has a label which includes the state and the store number. I would like to automate a way to copy the state and store number information down each data set as well.
I have approximately 200 excel files that I want to load into access and have it format it so it basically will end up 1 big file with State, Store Number, relevant information from the data set. I've seen a module do this before, can't remember how to do it.
I am trying to export a table from Access 2010 into an existing multiple tab excel 2010 spreadsheet.I want it to overwrite the "data staging" tab each time.I have it adding the tab into the existing spreadsheet but it names it "data_staging" however if I run this a second time I get excel found unreadable content in 'data staging' Do you want to recover the contents of this workbook? if you trust the source of this workbook click yes.
Code I am using
'export to existing spreadsheet data staging Private Sub Command5_Click() DoCmd.TransferSpreadsheet acExport, 10, "Phx Data Staging", "F:My DocumentsWorkSGN est est data staging.xlsx", False, "data staging" MsgBox ("Completed")
I have a table (tblMaster). In the table is a field called Agency. The table is 200,000+ records and there are around 35 Agencies. The table grows monthly, with potentially new Agencies added all the time.
What I have been asked to do is to have a button on a Form which, when clicked, exports to Excel a separate workbook with all the table data for each Agency in the table.
I have suggested a combo-box on the Form that passes the Agency name to a query and then exports (so they could have control of which Agency to export) but no - they just want one click, spool through the table and create the 35 (or so) exports.
I have run into an issue with a basic DLookup. The database has grown in size and now we could have multiple entries, but I want it to return a certain one. So the information could be in it three times. Of course DLookup stops after the first one. How do I get it to loop to check the entire table? Someone mentioned to me to use a recordset, but how to write that as I have never used it before. Below is what I was using until this new request came up.
<code> Private Sub txtloan1_AfterUpdate() If IsNull(DLookup("[loan1]", _ "settlement", _ "[loan1]=""" & Me.txtloan1.Text & """ AND [status] = 'Open'")) = False Then Cancel = True MsgBox "Test", vbOKOnly, "Warning" End If End Sub </code>
This was also executing after the user entered the information within a text field. I did not want them to enter all the data and then have it come back as a duplicate.
some code I've come up to in order to import multiple excel files each of them with a different number of worksheets into an access table. The procedure is called from an Access database. The problem I have with the code is that when it encounters a workbook with only one worksheets (e.g. Sheet 1) it gives the error that "Sheet 2$" is not a valid name. When geting to a workbook with 2 sheets it says that "Sheet 3$" is not a valid name and so on and so forth. Is there a way to "check" the number of sheets in the workbooks and when it has only one sheet to transfer it and go to the next file?
Below is the code:
Code: Sub ImportExcelFiles() Dim strFile As String 'Filename's Dim strFileList() As String ' File Array Dim intFile As Integer 'Number of files Dim filename As String Dim path As String DoCmd.SetWarnings False path = "D:Tranzactii"
Hello, I have what I believe to be a very basic, albeit wordy question regarding an Access based mailing list that I am designing. For the scope of this project, I have 7 fields: Position (the position of the person recieveing the mailer, So far all I have is the "Principal", these are all schools) Name (The name of the school), Address, City, State, Zip and SchoolID (this is the primary key and will be hidden) My question is: How can I add multiple positions per School (Name)? I need to add 1st through 6th grade teachers as well as the councilor to each location. So each of these people will be sent a mailer. Any help on this would be greatly appreciated. Feel free to ask any questions needed.
I believe this can be done with a query, but am having problems with it.
What i have is a db with a table for employee another table for training items and a third table to tie them both together. These employees are divided into several "teams" (team 1, team 2 etc ...) The training items are assigned to some or all of the teams. ( i know that this is a many to many relationship and i believe that is where i get confused ) Now the problem. What i would like to do is have a form that will allow the user to assign a new training item to teams 4, 5 and 6 and have access automatically create a record in the table. Now that the 20 or so employees that are assigned these training items will have a record that the user can simply fill in a date when the training has been completed by the employee.
I believe what i am looking for is an append query. Is that right?? Have been playing with this one for awhile and have no luck so i would appreciate any help i can get on this one
This might be confusing so I will try to give as much detail as possible.
I have a table that has part numbers and the number of that part used that is based on a construction group lets call it.
I have another table that has all the different products that we sell, it also contains the "constuction groups" that are needed.
My append query looks to see which product is being ordered, gets the "construction groups" then looks at the other table and gets all the part numbers and quantity used in that group. It takes the part number,quantity used and appends them with an order number into another table. This works fine, however because some of the "construction groups" use the same part number I have multiple entries for some parts.
I want to be able to make it so that when there are multiple entries where the order number and part number are the same, it adds the 2 quantities and leaves only one record.
If someone out there even understands my problem could you help me. I have been trying to get this part of my db workign for a few weeks now.