How Do I Update Data Related To A Read-only Query On A Form?
May 22, 2006
Hi all, I'm so tired of looking... please help me!!
I have an Access Data Access Page based on a query which is not updatable.
The query is based on a many-to-many table (e.g. OfficeProducts with foreign keys for OfficeID and ProductID and an Amount field). The query is not updatable as I have included outer joins to the Office and Product tables to get all their records back.
(I'm not sure if I've done this the best way, but need to be able to list all the possible Products for each Office whether they use them or not.)
I want the user to be able to update the Amount field, so e.g. if it is currently set to 50 to be able to change it to 40, or if it is currently null (as there is no record so far for that OfficeProduct) then to insert a record into OfficeProducts with the OfficeID, ProductID and Amount value entered.
I thought this would be straightforward by creating a new textbox in the same section as the current Amount field, calling it NewAmount and letting the user update this, fire an event trigger to either update or insert into the table, and refresh the query and record on the form/DAP so that Amount shows the newly updated/inserted value.
I have been searching for ages... cannot locate either the best event or events to use for this nor the code to enter!! Please please help!!!!!
(This is actually for a charity helping people suffering from emergencies in developing countries, not OfficeProducts, so your spot in heaven will be reserved if you can help ;) Thanks)
I need help. I am not sure if this is a form issue or a logic issue i have a db for tracking students the classes they take and their notetakers for classes. Each class is most likely unique to each student but sometime there are multiple students in each class that need a notetaker and there should only be one notetaker per class. I have 3 tables and they are all linked through a unique iD called CRN (number).
I am looking for a way to add a student to a class and create a class at the same time in one form. I am trying to limit the redunancy by adding a class each time and then adding a student to the class.
Any suggestions would be great. I have gone through 10+ redesign and am just at a loss on how to accomplish this.
I have to make a Costing System but for that I need to enter our Expense details in database according to Fiscal year and months.
I need a table for Fixed expenses and one for Variable Expenses and then I need one or more Forms to update data in those tables. Now I've created a table with Fixed Expenses. I have to update Year and Amount in that. Now it is only letting me one entry per Expense.
I want multiple entries for one Expense say 'Advertising' for different years. I'm thinking may be I need to make more than one Table, may be one for Expenses with ExpenseID and other for Years with Year and YearID and the third one for Amount with columns Amount, Method of Payment, Date and Notes. I did tried this but I think I'm not creating proper relation may be because its only updating for one year.
I have a form within my database in which the user will enter data which will go into 2 separate tables. These 2 tables (Job and Client) are related. At the moment I have a subform in which the user enters Job information, and the main form where the user will enter client information.
The problem being is that the 2 sets of data do not associate themselves with each other, despite being related (The Client will be related to a job number. A client can have many jobs but a job can only have one client etc). It has to be done manually in the table which is not ideal as the DB will be split and rolled out to users via Access Runtime. I have been working on this DB for a while now and the problem is most likely right in front of me but I cannot see it!
I have a form based on a table which includes the mid field. I want to have a macro that takes the value of the current mid, and makes a new record in a 1-many related table (consisting of record id (auto), mid and trmntdate), paste the mid and insert the current date.For the life of me I cannot get it to work? The process should be something like:copy mid value, add new record to related table, paste value in mid, insert current date in trmntdate, save. I've tried append queries, experimented with copy etc, dabbled blindly with VBA and not got anywhere.
I have a database I made to store a list of users and information about each user.
I have a UserDetail table, languages table, previous experience table, current experience table.
UserDetail table as follows: UserID (PK) First Name Last Name Full Name (calculated) Department (using a multi select combo box. There are 3 departments and some people are in both).
I need to do the same thing on each table and each table is very similar so I'll just list one. This is the Previous Experience table:
I have three junction tables. One for each Previous Experience, current experience and language table. The Previous experience junction table has:
ID (PK) UserID PreviousXPID
I created a relationship between the userdetail table and the junction table then the junction table to the Previous Experience table.
Now what I'd like to be able to do is edit people to add previous experience, current experience and languages to each. I already have a form that lets me add a new user to the database. It's just based on the UserDetails table. If I could have a way (perhaps using 3 multi select list boxes. One box for previous experience, one for current experience and one for languages) on that form to add the other details to that person, that would be ideal. I'd like to create a new user. E.g. Joe Bloggs in department 1 who speaks Dutch, used to have Marketing, Chemistry and aeronautical experience and now works in IT.
I can create the new user by putting last first/last name and selecting the department. But to add experience or languages, I have to go into that junction table and add the numbers myself. e.g. user 1, has experience 1,3,4 and 5. I'd like to see the name that relates to the ID and be able to select it from the list in the table I have.
I have a table called tblCompanies. When a company acquires another company, I need a method by which the acquired company's CompanyID (PK) can be updated to the new company's CompanyID (PK). I also need to be able to update all related CompanyIDs (FKs) to the new value in related tables.
In cases in which the new company does not have an existing record, there is no problem: the company name simply gets changed to the new company and the existing CompanyID is maintained. I then use an audit table and Track Changes function to keep track of the company name data and a union query to keep the old names in the selection lists.
The problem is when both companies already have existing records in the table.
So, let's say I have records for Company A and Company B. Company A merges with Company B and Company B is now the main record. What is the best, simplest and easiest way to update the CompanyID (PK) from A to B and change the CompanyID (FK) to the new value in all related tables?
I am envisioning a pop-up form that directs the user to select the new company and then an update query happens behind the scenes... but exactly how does the criteria for the update query get selected and how do all the related tables get updated? My vba skills are pretty basic, will I need extensive coding to do something like this?
I created a query that shows everyone who has a specific date field blank. Now want to make those names clickable so that it opens a specific form with a certain record related to that individual in the query. Each line with a different individual should open a different person on the form and their corresponding record.
I have 2 tables and from them I do a query called "Query_Dates". There, I created 4 calculated fields which compares fields of the two tables previously mentioned.
What I am trying to do is everytime the calculated fields are equal to "Diff", gets the value from the second table (ADHOC) and and puts it in the 1st table (Master_Table). In total there are 4 fields I would change depending on other 4 fields called (CheckRR, CheckQual, CheckProd, CheckCap).
The problem is that it gives me an error 3027, object is read-only.
Below, you can find the code.
Private Sub Comando27_Click() Dim rst As DAO.Recordset Dim rsd As DAO.Recordset Dim supplierName As String Set rsd = Application.CurrentDb.OpenRecordset("Query_Dates", dbOpenDynaset) Set rst = Application.CurrentDb.OpenRecordset("Master_Table" , dbOpenDynaset)
I have created a database for storing, query and deleting data. Now the user wants to delete a row from a table and create two new rows. In my opinion this will need lots of work in order to replace all related queries forms and reports in the form. Is there any whay to do my job more easy in modifing a table and all related items be modified by themself? I still do not have any data in the table but if I did will I loose those data? Thanks.
I have two tables, one is of departments, and one is of people (with a FK denoting what department this person is in). Now consider the fact that there are duplicates in the departments table, and I would like to remove these duplicates. However, the duplicates have related records (in the people table). So, before removing the duplicates, I must update the FKs in the table of people (this is the step I'm having trouble with).
Here's an example:
As you can see, the "Sales" department is there twice. And both have a related record. What I want to do is: Update all DepartmentIDs (in tblPeople) to not point to duplicate records. In this example, that would be PersonID 2; Joe. His DepartmentID should update to "1" (as both "1" and "2" are "Sales").Delete the duplicates in tblDepartments (in this case, DepartmentID 2, "Sales").
The second step is no problem, it is only the first I am struggling with.
Also, the example posted here is just an example, the data I actually need to do this for is significantly more complex and there are many more records! In the attached database:
qry1: Simple query to find all duplicates (just used the query wizard) qry2: Just the first row of each duplicated departments (duplicates that shouldn't be deleted). In the example above, this would be the "2", "Sales" row in the tblDepartments table. qry3: Basically all qry1 rows that don't appear in qry2 qry4: All qry3 values, and their respective qry2 value.
This is what each of the (soon to be deleted) duplicate values' related records' DepartmentID should be updated to... There's no simpler way to phrase that, so using the example above, qry4 would return "2","1". This indicates that all people with a DepartmentID of "2" should be changed to "1" (so we can subsequently erase the department with the ID of 2.
This is as far as I have gotten. My next step is: Update all FKs in tblPeople based on qry4 (You can't set an update query's criteria to pull from another query, nor can you use the second query for the update value... or maybe you can, but I don't know about it).
I'm having trouble with my database (Access 2000). I'm trying to export a file into a text file by clicking on a button. Below is the code. Where the code is in bold that is when the runtime error happens.
If i export the code manually by right click on the query > Export then this works, but for some reason by clicking on the button will not work.
Private Sub cmdExport_Click() Dim sExportFilePath As String sExportFilePath = DLookup("[DateExportLocation]", "tblSettings", "[ID]=1") ' Path if file to be exported DoCmd.OpenQuery "qryUpDateTransmissionDateAndTime", acViewNormal, acEdit ' Update dates time DoCmd.TransferText acExportDelim, "ExportFile", "qryExportFile", sExportFilePath End Sub
I create a front end and back end that resides on the lan. Front has everything besides the table which resides on the back end. Front ends table are linked to the backend. I have two computer that i am testing it on. Both of them runs Access 2003 runtime and windows has been update to the latest version, both xp machine aswell.Both has user right to read and write to that directory on the lan. Ldr exist when either of them uses access file. The strange thing is when i run a command to copy some data from one table to another one. one of the machine give me the following error "3027 Cannot Update. database or object is read only". While on the other machine it runs flawless. Another weird thing is if i modified some values in table by using forms it works great on both so i am a bit clueless where the problems is. its seems my problem is copying from one table to another. i dont have problem modyfing one table. Here is the code i use to that halt my ms access database.
Dim dbs As Database, rsProposal As Recordset, TES As String, stdocname As String, stLinkCriteria As String
TES = Me![TESID]
If TES = DLookup("TESID", "Proposals", "TESID =" & "'" & TES & "'") Then MsgBox "Proposal Already Exists for TES ID: " & vbCrLf & _ " " & TES, vbOKOnly, "Proposal Already Exists" GoTo Image264_Click_Exit Else If MsgBox("Do You Really Want to Create" & vbCrLf & "a New Proposal for TES ID " & vbCrLf & " " & TES & " ?", 289, "Create New Proposal?") = vbOK Then Set dbs = CurrentDb Set rsProposal = dbs.OpenRecordset("Proposals") With rsProposal .AddNew ![Long_Desc] = Me![Description] ![Short_Desc] = Me![Opportunity] ![Dest_Site] = Me![Install Site] ![TESID] = Me![TESID] ![End_User] = Me![Contractor/Purchaser Name] ![Date_Due] = Me![Proposal Due Date] ![Date_Completed] = Me![Close Date] ![Status] = Me![Status] .Update .Close Set rsProposal = Nothing dbs.Close Set dbs = Nothing End With stLinkCriteria = "[TESID] = " & "'" & TES & "'" stdocname = "Form Prop - Detail" DoCmd.OpenForm stdocname, , , stLinkCriteria DoCmd.Close acForm, "Form TES - Detail" End If End If
I have 2 tables, one is like a main table, containing all of the main data, such as a Job Number, Customer, Quantity, etc. I have a second, related, table that acts a breakdown of information. There may be several related records to one main record, it entirely depends on the nature of the job.
What I'd like to do is run a function that looks at a main record, checks if all the related records COMPLETED field is ticked and then tick a field in the main record. I only want it to do this for records where all of the related records are COMPLETED.
In my database I have a table that keeps track of a package of items. The package is assigned a package type (counter display, end cap, half pallet, full pallet for example). The record of the association of the package and it's type is held in the main table.
Each of these package types is either a case or a pallet (counter display and end cap are cases and half and full pallets are pallets) This relationship is kept in another table (we will call it description table).
Now, based on the type of package and therefore it being a case or pallet a UPC and a GTIN number are assigned. The GTIN number is different if it is a case or is a pallet. I have a table that stores all of the UPC and GTIN numbers available in 3 columns, one for UPC, one for GTIN Case and one for GTIN Pallet (the UPC is a standard 12 digit and the GTINs are 14 digit -with the first 2 different to designate pallet or case. and all are based on the check digit formula necessary)
The user assigns the UPC and correct GTIN number by clicking a button which applies the next available UPC code to the package and determines if the description of the type (case or pallet) and inserts correct GTIN number into that field. I actually have all of this functioning correctly.
Now the problem. If a user changes the package type, and therefore changes the description, I need to add code to the update event of the combo box that gives the choices for package type that does the following:
Check to see if the original package type was a case or pallet (it's description) and if by changing the package type it is now changed to the other, update the record in the main table to the correct GTIN number based on the existing UPC Code.
OR as I write this, maybe the code could simply update the main table with the correct GTIN code based on the new description and the existing UPC code. This was I would not need to check for a change just do the update every time.
Hey all, I need data in a table to be read only, once its inserted no one will be able to modify with the exception of a admin, how can i go about doing this/.
in access, how can I read data from two different tables and show the result in another table? in details:
i have two tables named hydraulics and mechanics. i want to read the data "reliablility" from table "hydraulics" and "reliablility" from "mechanics". and then i want to multiply these values and show in a newly created table as "results".
thanks for visiting and answering.
p.s: my file is attached, everything in german, sorry.
I apologize if this has probably been asked countless times; however, in my search of this forum I could not find something that seemed to work for something so simple.
I have 2 forms. The first form is my main form and the second form is my "popup" form. Both of these forms access the same table. In my main form I have it so people can not enter in a ID so it reduces accidental data entry. Therefore, I created a "popup" box that allows ID entry.
Everything works great except when I close out of the popup form, the newly entered data is not available unless I close the main form and reopen.
Million Dollar Question:
How do I refresh or requery (dunno the correct term usage here) the main form to reflect the addition I made in my popup form. I would like the refresh event to happen when I click the close button on my popup form.
Hi, I know this has to be simple, but when I test a Data Access Page on my local machine I get an error that says "data source field is read only". I've made these pages before and never had a problem with writing to the database using a DAP. The database is not read only. Any ideas?
I have read only access to a database maintained by a vendor. I am using an append query to search for new records in that database every time my database opens through a macro. This adds any new records to my table. I then add additional information to each record in my table. This is newly acquired information, not calculated, and it is different for each record.
My question is can I keep my table up to date with the vendor table without running the append query macro at open every time as my database may remain open for extended periods of time during updating of records.
I have a form call member. In the member form I had created a membership Id combine with several code which can shown in the form. But this is only shown and I need this combine memberID to be update into another field.
Anyone have better idea which I just need to add it into controlsource ?
Hi there, We have designed a database which has six tables all joined together through one master table by one-to-one relationships, We have designed forms based on these related tables too. However, it will let us type in any data to any field in one table but when we try to add data to another related table it comes up with the following message: "you cannot add or change a record because a related record is required in table "xxxx". This happens no matter where we try to enter data. Referential integrity is set as are the cascade options, Please help as this is an urgetn issue for us Thanks S