Queries :: Union Query - Multiple Records On One Report
May 7, 2014
I have a database that has over 20 tables in it and am using Access 2000. Unfortunately I cannot change the structure as it performs specific functions, so I am stuck with it.
I have created a Union Query from these tables yaking data from 5 fields using the Serial Number entered by the user.
SELECT[Workstation].UnitPart,PropertyTag,UnitSerial,Date,Technician
FROM[Workstation]
WHERE((([Workstation].UnitSerial)=[Enter Serial No.];
UNION
SELECT[LAPTOP].UnitPart,PropertyTag,UnitSerial,Date,Technician
[Code] ....
I use a bar code scanner to scan the serial number, and it goes through the tables and returns the results along with the other specified fields.
I would like to scan up to 16 or more different serial numbers and have it return the results. Perhaps scan the first 16 serial numbers, then run the query? Is that possible. The serial numbers are unique and will return a combination of laptops, printers, monitors, etc...
I have created a report from the above union query and it works perfectly with only one serial number entered.
I have a Union Query (that works perfectly fine) with the following code:
Code: SELECT * FROM sbqryUseBattery UNION SELECT * FROM sbqryUseBeltsDeck; UNION SELECT * FROM sbqryUseBeltsHydro; UNION SELECT * FROM sbqryUseBeltsPTO; UNION SELECT * FROM sbqryUseFiltersAir UNION SELECT * FROM sbqryUseFiltersFuel UNION SELECT * FROM sbqryUseFiltersOil;
I am using this information on a Report.
The problem is that the Report shows the data in random order. Is there a way to filter either the Union Query or the Report?
I am using the following UNION QUERY to total up equipment tested for a report.
SELECT "Laptops Tested" AS PCEQUIP, Count(*) AS RECORDS FROM [LAPTOPS] WHERE (((Date)Between [Enter Start Date] AND [Enter End Date])); UNION SELECT "Workstations Tested" AS PCEQUIP, Count(*) AS RECORDS FROM [WORKSTATION]
[code]...
I have created a report using ACCESS 2000 for this union query and it satisfies the requirement. I am trying to add the proper code and syntax in this query to total the number of all of this equipment tested.In this case the total would be 86. Is this possible?
I have two tables containing (let's say for simplicity) questions and attachments (pictures). I am trying to perform a union query to join all the questions and pictures into one report, but it won't let me union the attachment because 'the multi-valued field 'TableA.Pictures' cannot be used in a union query'.
I have searched and searched for a solution (and got kind of close) but i still can't get it to work. The best I can do is union everything like below, which gives all the questions as desired, but says #Error in the pictures column:
SELECT TableA.* FROM TableA Union SELECT TableB.* FROM TableB;
(Note tables A and B have the same structure, several yes/no and open text questions as well as one attachment field. )
I'm having a problem with a UNION / UNION ALL query.It seems there is a application crash fault when running the query that MS are aware of and have issued a hot fix. Unfortunately it will take my IT dept some time to check and install the hot fix If they agree to do it at all.
Problem signature: Problem Event Name: APPCRASH Application Name: MSACCESS.EXE Application Version: 12.0.6606.1000
I have a three-column query that tells me how many hours I have available per week for a given resource type (e.g. welders). I have a second three-column query that tells me how many hours of work I have planned per week for a given resource type.I'm hoping to produce a query (the source for a report) that will show resource types in rows and twelve months in 24 columns. the first column for each month will show how many hours I have available for all my resources, the second column for each month will show how many hours I have allocated.
How do I produce a query that will combine the other two queries, inserting zeroes where necessary considering that for any given week I might have allocated work to a resource that isn't available (because the inconsiderate buggers think they are entitled to holiday) or I might have a resource that has no work allocated (because I'm incompetent)?
I'll ask in stages: Can the results of a Union query show up on a report? My expected results would be something like this.
SumofPT SumofOT SumofST Range 75 80 80 5-Day 120 14 Day 175 120 30 Day
Or am I going about this the wrong way. I have 5 queries named the different ranges I prompt for a sum total for a given date range Individually they work. The Union Query prompts me correctly. That's as far as I have gotten.
I'm currently working on a database that will store Employee Names and their Hours Worked for bookkeeping purposes. The form we have composed currently takes information on a Job to Job basis (i.e., 1 sheet per job) but has several text input fields for the various employees who may have worked on that job (i.e., EmployeeNameA, EmployeeNameB, etc.). The problem lies in our report. Since we have to report on an employee basis rather than a job basis our report requires more complex code.
Through browsing several forums and doing a lot of googling, I learned that the best way to report several fields is to run a union query and compile the data. I did, and now all the EmployeeNameA's B's and C's are simply "Employee" under a new query titled "Employee Query".
I've hit a brick wall since I have no idea how to make the report produce one employee's name alphabetically from that query, then subsequently report all his hours worked for each day of a pay-period week; then list the next employee's name, then all his data, etc. I have the dates set up fine, and the employee union query includes the hours worked and everything else that needed to be compiled, but names refuse to show up when I try to DLookup the union query. I may not need to do a Dlookup, I may be way off. I need some help!
Thanks in advance and feel free to ask any questions!
I am trying to run the below union query, but it keeps asking for FRGHT_BL!FB_CREAT_DTM as a parameter. I want it to only ask for the Start Date and End Date once.
SELECT * FROM qLOC_ID WHERE(((FRGHT_BL!FB_CREAT_DTM) Between [Enter Start Date] And [Enter End Date])) UNION SELECT * FROM qLOC_ID2 WHERE(((FRGHT_BL!FB_CREAT_DTM) Between [Enter Start Date] And [Enter End Date])) UNION Select * From qLOC_ID3 WHERE(((FRGHT_BL!FB_CREAT_DTM) Between [Enter Start Date] And [Enter End Date]));
I have two tables: tblOne and tblTwo with identical categories. TblOne and tblTwo both group by Category and Duration. When I make a union query between tblOne and tblTwo, I notice that if I have the exact same category and duration for BOTH tblOne and tblTwo, the union query "eats up" one of the identical entries. How can I fix this?
I need to have two different tables because they correspond to two different machines (but are both the same type of machine, hence the identical categories)
Order ID Customer ID Purchase Amount 1 17 $14.95 1 17 $7.35 2 21 $11.90 3 27 $64.80 3 27 $31.13
I have two tables with pull in data. What I'm looking for is a query that would combine the customers purchase and sum the purchase amount field. The tables are unioned as some customer data is in one table but not the other and joining them excludes some of this data. Ultimately I would like to see is
Order ID Customer ID Purchase Amount 1 17 $22.30 2 21 $11.90 3 27 $95.93
I have been running 5 reports to gather company information. I then take the data from these 5 reports and manually load them into an Excel spreadsheet to calculate a grand total. I would like to be able to run a query or report within my database to get the same information. I have attached a copy of my spreadsheet for review.
Could someone please review this spreadsheet and help me design an easier method of calculating a grand total.
So i have a union query pulling together about 3,000 records from other queries.
I arranged all the counts and data I need to fit onto one page, but the report is copying that page (minus the header) for each record in the union query. I'd much prefer a one page report rather than a 3,000 page report.
Why does it do that? All I want is a one page report, how can I make that happen?
I need to create a census report from the employees we serve and their dependents, by company. I have a union query of the Employees table and Dependents table to put them all on one list, then a form where you can type the name of the company you need, with a button that opens the report. This works great, except for the fact that sometimes we don't need the dependents; if a company has over 100 Full-Time employees, we only need the employees. I've added a check box ([IncDep]) on the form, asking the user if they want to include the dependents, but I don't know how to get this to filter the report. I have a Relationship field on the tables that specifies an employee as a "Subscriber", so I'd like to filter the report where [Relationship] = "Subscriber" but I don't know how to do this. The union query specifies both Employees.Relationship and Dependents.Relationship to the text box [Relationship], but when I do something like
Dim stDocName As String If Me!IncDep.Value = False Then stDocName = "Census" DoCmd.OpenReport stDocName, acViewReport, , "[Relationship]='" & "Subscriber" & "'" Else stDocName = "Census" DoCmd.OpenReport stDocName, acViewReport End If
I have two tables, and I made a union query (tbl1 UNION ALL SELECT ...tbl2). Problem is, I have two entries that are identical in both tbl1 and tbl2, but I want to include BOTH of them in the union query. Even though I used the ALL operator, only one set shows up!! I'm pulling out my hair trying to figure this out. Please help, and thanks so much in advance!:(
i have got 2 tables i am trying query against. in table 1 i have a list of records which only appear once in the table under 1 field. in table 2 list of records which may have the same record appear under the same field numerous of times with different data in other fields on the table. i have created the reationship between both tables but i am getting multiple records appear in the output of the query where i only want the record to appear once in the output.
I need to produce a Data Integrity report that lists the users of a separate database and the count of errors that they make, separated by error type.
Currently my query displays all the users who made errors, and the total errors they made. But I don't want the total - I want to break this number down by the types of errors that are made.
I modified the SQL to make it easier to read. How can I take the below statement and make a few expressions that count up the specific values? The field I need to dissect is "Type Error" and a couple of examples of error types are "A1" and "B1"
Code: SELECT DISTINCTROW [Errors Table].User, Count([Errors Table].[Type Error]) AS [Errors] FROM [Errors Table] INNER JOIN [Workcenter Profiles] ON [Errors Table].PWC = [Workcenter Profiles].PWC WHERE ((([Errors Table].[Review Status])="Error Corrected")) OR ((([Errors Table].[Review Status])="Error Not Corrected")) OR ((([Errors Table].[Review Status])="Error Not Correctable ")) GROUP BY [Errors Table].User ORDER BY [Errors Table].User;
I've seen it done with multiple queries joined together, but I'd like to avoid that if possible...
A have a report that is based on a query that works fine when the query returns records.
However if the query (legitimately) returns no records then the report fields (numeric) are blank.
How can i get the query or report to show either "0" or "no data" when no records are returned? I have tried the NZ function but that didn't work so i don't think that is the right approach here?
I have a front end that is connected to three back end files. The front end is on my local computer while the back end files are on a network drive.
There are a lot of calculations that go into the queries and intermediate queries. For a report, I have based it on a UNION query.
But when trying to design the report it takes about 45 seconds just to do any one thing, e.g.; - Add Groupings - Add Grouping Headers//Footer, sorting option - Add bound textbox :eek:
Needless to say this is very annoying. :mad:
The union query itself runs fine (takes about 15 seconds to run) and returns about 12,000 Rows. The union query looks like this (I changed the field names to make it read easier, hopefully);
SELECT a1, a2, a3, a4, a5 FROM qry_A;
UNION SELECT ALL a1, b2 AS a2, b3 AS a3, a4, a5 FROM qry_B;
UNION SELECT ALL a1, c2 AS a2, c3 AS a3, a4, a5 FROM qry_C;
UNION SELECT ALL a1, d2 AS a2, a3, a4, a5 FROM qry_D;
UNION SELECT ALL a1, e2 AS a2, a3, a4, a5 FROM qry_E;
UNION SELECT ALL a1, f2AS a2, tblG.f3 AS a3, tblG.f4 AS a4, a5 FROM qry_F;
One solution I came across when searching the forums was to use an Append Query to append the query results to a table and base my report on that. This does indeed fix the problem.
But what I was wondering if it was is my query design that is causing it to be slow or is it just the fact that I am returning 12,000 rows? :confused:
In case it matters, I wanted to mention that I can’t use the report wizard to create the report. When I select the union query, the fields will be showed for awhile then they just disappear. That in and of itself doesn’t cause any trouble since I am creating the report using the design view and not the wizard.
The code pasted below creates a union query for a set of tables (J000171, J000174, J000178 etc) and stores the results of the query in a table called temp.
The first piece of code queries the ‘status’ field of a table rjobs for those records with a ‘status’ field of “Live”. Another field within this rjobs table, ‘JobID’, happens to be the name of a table where additional information relating to that job record is held eg. J000178 All of the tables selected in the query on rjobs are then included in the union query.
The second piece of code stores this information in a table called temp
I would like to be able to do 2 things with this;
1.add an additional field to the union query which holds the JobID field value from rjobs (or alternatively the table name from which the data originates eg J000178 etc as that is the same as the JobID file din rjobs)
2.create an option to clear the info in the temp table. Currently additional info is appended, so whenever the query is refreshed new data is simply added to old data. I would like to be able to clear that data where possible.
The union query is run from the on click of a command button on a simple form. Perhaps an additional button could be used to clear the records from the table temp.
Any ideas greatly appreciated.
Here is the existing code …
Option Compare Database Option Explicit
Private Sub Command0_Click() Dim db As Database Dim rsRjobs As Recordset Dim rsRapps As Recordset Dim LengthofUnionSQL As Long Dim sql As String Dim UnionSQL As String Set db = CurrentDb Set rsRjobs = db.OpenRecordset("Select * from rjobs where Status = 'Live'", dbOpenSnapshot) Do While Not rsRjobs.EOF UnionSQL = UnionSQL & "Select ObjectID, SearchNo, DateSearched, Consultant, from " & rsRjobs!jobID & " Union " rsRjobs.MoveNext Loop 'following two lines are to remove the trailing word Union from the string unionsql LengthofUnionSQL = Len(UnionSQL) UnionSQL = Mid(UnionSQL, 1, LengthofUnionSQL - 7) ' Now variable Unionsql will hold the value something like ' Select ObjectID, SearchNo, DateSearched, Consultant from J000145 ' Union Select ObjectID, SearchNo, DateSearched, Consultant from J000146 ' Union Select ObjectID, SearchNo, DateSearched, Consultant from J000147 MsgBox UnionSQL
Set db = CurrentDb Dim rsUnionquery As Recordset Dim rstemp As Recordset Set rstemp = db.OpenRecordset("temp", dbOpenDynaset, dbSeeChanges) Set rsUnionquery = db.OpenRecordset(UnionSQL) Do While Not rsUnionquery.EOF rstemp.AddNew rstemp!ObjectID = rsUnionquery!ObjectID rstemp!SearchNo = rsUnionquery!SearchNo rstemp!DateSearched = rsUnionquery!DateSearched rstemp!Consultant = rsUnionquery!Consultant rstemp!jobID = rsUnionquery!jobID
I'm having a small problem where Access returns a "Query too complex" error when I try to run a Union query of the form:
Code: SELECT CourseNumber, CourseTitle, [Date], TotalScore, "Two (2) zero visibility dives?" AS [Question], CountZeroVisibility AS [NegativeResponses] FROM qryScore UNION ALL SELECT CourseNumber, CourseTitle, [Date], TotalScore, "One (1) night dive?" AS [Question], CountNightDive AS [NegativeResponses] FROM qryScore UNION ALL ...etc
I have two basic lists of employee names, ID's, phone numbers etc, with one field containing an attachment with a picture of their ID. I don't want to permanently combine these two lists of employees, as they work in different departments, but for certain events I need to be able to print a report with a list of all their names, ID numbers, and corresponding ID photos.
I tried to make a UNION query, but can't do it with the attachment field. If I leave that field out, it's no problem. To simplify, I have been doing a test run as follows, with just the name field and photo field (field 1).
SELECT [Starting Gate employees].[Employee name], [Starting Gate employees].Field2 FROM [Starting Gate employees] UNION SELECT [Farrier employees].[Employee name], [Farrier employees].Field2 FROM [Farrier employees];
I have three queries that make a training list based on a person's role, team, and ad-hoc exceptions. The personnelID field is filtered by a listbox on a form. Each of these work great on their own (nice!). Now I want to combine them. I made the below union query that works... however when it is run, I am prompted to enter the personnelID again. This prompt only happens once. Do I need to incorporate a qhere statement somewhere, even though each of the individual queries have them already?
SELECT First_Name, Last_Name, TrainingTitle, PersonnelID FROM qryPersonnelTrainingByRole UNION ALL SELECT First_Name, Last_Name, TrainingTitle, PersonnelID FROM qryPersonnelTrainingByTeam UNION ALL SELECT First_Name, Last_Name, TrainingTitle, PersonnelID FROM qryPersonnelTrainingByAdHocPersonnel;
The where statement of potential use:
Code: WHERE (((tblPersonnel.PersonnelID)=[Forms]![frmMain]![lbxPersonnel]));