Creating An Updatable Query Requiring Only One Record From Many Side Table
Sep 15, 2006
I have a form that stores information about attendees for a given class. In this particular instance, I only store one address, one contact information both which are optional. I've used subforms, but that has bought problems (one notable problem is that one field from tblAddress is required for *any* attendee, which is county they resides in, whether they give out an address or not. At this point my VBA codes to work around this is simply too buggy and a major hassle.
Therefore, I am now considering two possibilities: 1) make a unbound form and do everything manually without any subforms or 2) create an updatable query somehow that can pull together the needed information. The latter, I'm not sure if that is feasible, so I'm asking you about that.
Address and Contact Information are kept as a many side tables, and different queries I've made in past only is either non updatable or partially updatable, which does no good. If anyone can show how one can retrieve only one record from the many side and keep it as updatable, that'd be great.
I have a query which performs a calculation calculating totals of many fields linked by BikeID This is not updatable due to the calculated field. Now i want to join this query to the BikeDetails table to create a form. So this means that i would have all the data from the table which i can update and the calculated field which i cant. But when i join the two tables/query all the data becomes non updatable.
I want to Delete only FK on the many side first and the record on the one side by one click of a button. I wrote some code which sometimes works and sometimes it does not!!
I wonder if any one have a better idea or doing this please?
Private Sub Delete_Click()
Dim db As DAO.Database, rs As DAO.Recordset Dim n As Integer, i As Integer Dim vStart As Integer Dim vEnd As Integer Dim vSite As Integer Dim vRCCID As Integer
vSite = Forms![frmSite].Form![SiteID] vRCCID = Forms![frmSite]![Roads Construction Consent].Form![RCCID] vStart = Me.PhaseStart - 1 vEnd = Me.PhaseEnd + 1
Set db = CurrentDb Set rs = db.OpenRecordset("tblPhase") rs.MoveLast n = rs.RecordCount rs.MoveFirst If n > 0 Then For i = 1 To n If rs![SiteID] = vSite Then If rs![PhaseNumber] > vStart And rs![PhaseNumber] < vEnd Then rs.Edit rs![RCCID] = Null rs.Update
End If End If rs.MoveNext Next i End If rs.Close db.Close Set db = Nothing Set rs = Nothing
'/////////////////////////////////////////////
DoCmd.RunSQL "DELETE RCCID FROM tblRCC WHERE RCCID = " & vRCCID & ""
'////////////////////////////////////////////// End Sub
tblRCC is the one side of the relationship and tblPhase is the many side.
My problem has now moved on to a form issue which means no one has been able to answer is in the queries section of the forum as there is no way around it using queries so i hope you can help. All information is available on this thread. Thanks, Sci http://www.access-programmers.co.uk/forums/showthread.php?t=100376
So I'm trying to manipulate Access to create a Directory for my church. I'm trying to get a report to show the church staff, which I was able to do, but I was wondering, is it possible to get the records to show side by side instead of one on top of the other?
I included a picture of the design view showing what I would like to see. Excuse the way the numbers are written, it's hard to write with a mouse.
I have split my database, the data is in a DB on the server and the forms, reports, etc is on the client desktop. My question is "Is there an advantage to having all of my combo box queries (Lookups) on the server side (defined in the table as a combo lookup) or should I put the all on the form so that they reside in client side DB.
Form with three sections. I have three queries selecting different set of set in a table, I would like to show all three in a form side by side. How can I do this? I use form wizard bit it only uses one query as a source.
Ok ive been having this sort of problem for a while. Ive been trying to display updatable and non updatable data in a datasheet form. The problem is that i couldnt update any of the details with a calculated field in the table. Therefore i have put the calculated field in a subform thanks to someone on the forums request(sorry i cant remember who it was). After referencing the subforms text box i can display the correct information in form view however i cannot display in in datasheet view without expanding the subform [+] for the form to do the calculation. I need the form to go through all records once it opens unless anyone has a better solution. Hope sumone can help, Thanks Sci
I have a query in Access which I have always updated no problem until today. I tried to update the usual fields and it says "This recordset is not updatable". Does anyone know why this would have changed and how I can get it back to updatable?
I have two queries, property info (one) and budgets v spend (many). I'm trying to work out what the gross price is, property cost plus budget or spend (which ever is higher). Got that working no problem.
However if there is no budget or spend I just need to show the property cost but I'm just getting Error#. I've tried using the nz function but that's not working.
I've created two tables, one containing order data, the other additional order data. Not every order has additional order data.
First i've created them with no specific relationship and filling in data via form worked fine. If i added additional data, a new record in the additional order data table was created automatically.
Later i changed those tables to a "one to one" relationship by setting the long int field that links to the order data table to no duplicates. I just did it because i thought that's how it should bew. But since then i can't add additional order data via the form anymore, but get the error "Record(s) cannot be added; No corresponding record on the 'one' side" instead. I could just revert back to the one to many relationship, but it bothers me.
Hi! I have a table named Employee Records, with a primary key "ERName". I use this to link to a table named Certification Records, with ERName as the link in both tables. My problem is this:
When I add a new record to Employee Records table, the name is not thrown in to a new record in Certification Records. This is a problem, because in my form that uses a query that includes both tables, when I add a certification record, it doesn't populate the name field in Employee Records table. I don't know where I went wrong, but I feel stupid because this is so basic and I should have caught it earlier... any ideas, please? Thanks!
I have a report with some text boxes on it. Sometimes the text in these boxes can be a very long string of characters (maybe a path to some folder). In this case I do not want the text box to grow. I just want the report to show me the right-hand side of this path and cut off the left. How do I do this when still aligning my text to the left?
I have the following simple query. The query joins the data in two tables and I use it in a bound form. This has worked fine for a couple of years, but today the query is saying it is a non-updatable recordset. This stops users changing any data in the form. I have tried the following to no avail:
compact/repair recreate the query copy the whole database into a different MDB file
Is there something silly I might be missing??? I did not changed any of the table structure this problem has just appeared.
Code:SELECT tblWorksOrders.*, tblLocations.* FROM tblWorksOrders INNER JOIN tblLocations ON tblWorksOrders.WOLocationId = tblLocations.LCNIdentifierORDER BY tblWorksOrders.WorksOrderNo, tblWorksOrders.InstructionNo;
I have a DB where I run two queries every week that extracts data from a Datawarehouse and appends records to a table. Then i run an update query that updates a policy status on the same table the appended records are added to. For some reason this week when i try to run the update queary i get the following message:
Operation must use an updatable query.
Anyone familiar with this error? The table in not read-only and no other users are in the db
UPDATE DISTINCTROW MVADMP_SECURITY INNER JOIN Activity ON MVADMP_SECURITY.CUSIP_NO = Activity.[CUSIP#] SET Activity.[Wire Date] = [BK_ENT_DT] WHERE (((Activity.[Fannie Mae Loan #]) Is Null));
which works fine in the production environment. However, in the test database, I get an updatabale query error.
The Activity table is a table that is local in each database, while the MVADMP_SECURITY table is in the back end and is used by both the test and production environments. Both Activity tables have the same keys and indexes. I have write permissions for Activity table in both environments, while no one has write permissions to the MVADMP_SECURITY in either environment.
I have tried both copying and importing it into the test environment and the result is always the same; updatabale query error. Does anyone have any idea what's going on?
I'm struggling with a non-updatable query issue. I have a table at the category level that should allow entry but it needs to pull in information from another query. In this 2nd query, its doing group by/counts/sum's from an item level table. From reading about the dynasets and trying to fix it, it looks like this the major problem.
The item level table has information that is changing based on other user input so I don't think using a make table would work. I tried setting the queries/form to dynaset (inconsistant updates) but no luck there. It still wouldn't allow any changes to the entry field. Any clue on how I could get around this?
Main Table Category Entry A. . . . ._____ B. . . . ._____
This query built using the main table joined with a group by/sum of the item table. Goal Query for Updates Category Sales Entry A. . . . . . . $10. ____ B. . . . . . . $25. ____
I have an access database that I use to manage my car dealership, part of it holds data of a stock vehicles, another aspect is invoicing.As part of the invoicing form, I have a part exchange vehicle section which creates a new record in the part exchange table.
What I would like to be able to do is when a new vehicle is added to the part exchange vehicle table it automatically adds it to the main vehicle table so it shows as a stock vehicle.
The user currently manual checks the Use Part? box but would I would like to automate with an update query. I have this query that needs to be updatable but has a group by and min to get the correct results. I plan to run this query by another update query to update the table, but its currently not updatable. Is there a workaround or does anyone have another scheme to go at it. Here is my current queries.
SELECT [t_BOM Part Cross].[Customer ID], [t_BOM Part Cross].[Assembly #], [t_BOM Part Cross].[Quote #], [t_BOM Part Cross].[Line #], Min([t_BOM Part Cross].[Alt Unit 1]) AS [MinOfAlt Unit 1], [t_BOM Part Cross].[Use Part?] FROM [t_BOM Part Cross] GROUP BY [t_BOM Part Cross].[Customer ID], [t_BOM Part Cross].[Assembly #], [t_BOM Part Cross].[Quote #], [t_BOM Part Cross].[Line #], [t_BOM Part Cross].[Use Part?] HAVING ((([t_BOM Part Cross].[Quote #])=[FORMS]![Parameter]![Quote #]) AND ((Min([t_BOM Part Cross].[Alt Unit 1]))>0)) ORDER BY [t_BOM Part Cross].[Customer ID], [t_BOM Part Cross].[Assembly #], [t_BOM Part Cross].[Quote #];
I have another query that I used a SUB SELECT ON THE [Alt Unit 1] but does not group the other fields to get the results but it is updatable.
SELECT [t_BOM Part Cross].[Quote #], [t_BOM Part Cross].[Line #], [t_BOM Part Cross].[Alt Unit 1], [t_BOM Part Cross].[Use Part?] FROM [t_BOM Part Cross] WHERE ((([t_BOM Part Cross].[Quote #])=[FORMS]![Parameter]![Quote #]) AND (([t_BOM Part Cross].[Alt Unit 1])>(SELECT MIN([Alt Unit 1])>0 FROM [t_BOM Part Cross]))) ORDER BY [t_BOM Part Cross].[Quote #], [t_BOM Part Cross].[Line #];
I recently inherited an MS Access application. To bring it up to company standards, the data needed to be rehosted in DB2. The screens remain in MS Access. To accomplish this with no/minimal code change, I followed these steps:
1) For each access table, I created a DB2 table with the same structure. (table name and field names changed based on company standard) 2) Created a link table in access for each DB2 table 3) removed each Access table and replaced with a query (based on link table) with same name. The query maps field names us AS clause.
The reports and screens paint fine but any update operation results in a 3073 error. 'Operation must use an updateable query'. There are no joins or aggregates in the query.
I've got 2 different lines on a form linked to a table. One of the lines is claim status with either open or closed as the options. The 2nd field is "Date claim closed". I want to require the date to be filled in if "closed" in the status field. Can this be done? If so, what do I need to do?
I have a table that deals with current data (as in member rentals of items). The normalized tables that we have been given include a rental history table. The idea is that, when the member has returned the product a history entry is made in the completed rental table.
I wish to have a button which is clicked to triggers this event. Would I program a macro to do this? In other words, would I create an event that passes those values to the relevant fields in the other table (Name, date issued, return date etc)?
My application is a series of checklists, represented each by a table. They all have a common "Job ID" which is entered by the user in the first form/table. This "Job ID" is a common value with all other tables.
What I want, is that the user doesn't have to enter the "Job ID" every in every form. I just want him to enter it once in the first menu, and then it's copied automatically to all the other tables (creating a new record in each table).
I have been looking around for a while now to learn how to show in a subform similar records from the same table, and a way to link them together.
I work for a mental health organization and we have a call log database that we create a new record every time a person calls us - this allows us to track the outcome of these calls. Over the last 3 years we have about 10% repeat callers. I am trying to find a way, when creating a new entry, to see if this person has called before, and if they have, link their past contact (record) to the new contact (new record).
For example.
Caller: John Smith (555) 555-5555 (this is the new record)
in the subform, a list would populate all the 'john smith' records with an option to link or attach them to the new record.