Summing a field in an Access table and displaying the total - ms-access

How do I sum a column in Access 2010 and display the total in a new column (using expression builder perhaps)?

It's generally a bad idea to store a calculated value in a table. If you need a calculated value, calculate it when you are displaying it. Generally this is done in a report or on a form.
There are exceptions to this, but it sounds like you would be best served by displaying the calculated field in a report/form and not in your table.

SELECT SUM(num_fld) as Sum_Nums
FROM your_table
WHERE num_fld > 5;
I don't know about expression builder but this query works

Related

How to customize TaxReport_IT - report SSRS?

I would like to custom the Report SSRS TaxReport_IT, I need to add a new field in order to use in to SyntethicReport Design.
(for example)
The classes involved seems these:
TaxReport_IT
TaxReportDP_IT
TaxReportController_IT
TaxReportContract_IT
Tables involved:
TmpTaxReport_ITSummary
TmpTaxReport_IT
TaxReportTmp_IT
Are there others? Are there some Queries involved?'
I added the new fields in to table _TmpTaxReport_IT_, and I pupulated the related tables
I'm sure, in to the method I pupulated correctly the new Field (I have the values ​​that I expect), but when I print the Report I get a lower value. Seems like I don't take the total data set.
How can I add the new field and take the correctly total value?
I saved the data (about my custom field in a RegularTable) and the sum is correct, but I have mismatch when I print the report.
I think I skip some step to Report DataSet.
I use Dynamics AX 2012.
Thanks in advice!
I have an idea what could be wrong, but I'm making some assumptions. If they are not correct, please edit your question to clarify.
From your screenshot, it looks like you want to add your new custom field in the header section of the report design. I'm assuming the expression of that field looks similar to
=First(Fields!MyCustomFIELD.Value, "TaxReportDS_IT")
Note the First key word in that expression. This indicates that the value for that field should be taken from the first of the records of the report's dataset.
I'm assuming that you calculate the value of the field while the records in table TaxReportTmp_IT are being created so that each record has a different value. Maybe it is a sum of some other field, so the first record would have the smallest value and the last record the highest.
If all those assumptions are correct, you can fix this by changing the First keyword to Last. This indicates that you want to take the value of the last record of the report data set.
See also the documentation of the Last Function.

Order SSRS report column

I have a table in SSRS with a column which uses the expression
(Reportitems!Textbox71.Value / Reportitems!morCodeTextbox.Value)
This obviously divides one table filed by another and displays a percentage for each line.
I'm struggling to see how I can then order this percentage column to show the highest percentage in first row and then descending results. When I try and sort the table by going to table properties the available fields only include those from SQL query. Am getting errors when trying to use an expression to sort. Tells me that I can't use report items in sort expressions.
Does anybody know how I can achieve this?
you need to add a Sorting to table by expression: "(Reportitems!Textbox71.Value / Reportitems!morCodeTextbox.Value)"

Get Row Count in SSRS Report Builder

I have built a report using Report Builder 3.0 (that uses SQL Server 2008 R2). Now i wish to now how many records are being fetched from database to the report?
This is possible either by count function in SSRS or by using RANK/ROW_NUMBER function in SQL Query and assigning that as field to the report (RANK/ROW_NUMBER would give us rank to each row and navigating to last page in report would help me getting the total row count).
I tried count function but that counts on some field in the report. For instance = Count(Field!FieldName.value, "DataSetName") Problem in this approach: "FieldName" is not unique in the report and hence the counts get repetitive
Second option: Added Rank/Row_Number but they too use the same kind of fieldName and hence here too the counts get duplicated.
Main Problem: There is no field in my query that is unique (and hence i tried ROW_NUMBER())
How can i find the total row count or rank (for each row) in SSRS 2008?
Use the CountRows function. For example
=CountRows("MyDataset")
will give you the number of rows in MyDataSet.
As someone else mentioned above, I couldn't get CountRows("DatasetName") to work in the header until I wrapped it thusly:CSTR(CountRows("DatasetName")).
In the Tablix control's properties, there's a property name called NoRowsMessage put your message here when no row is returned.
you can't put aggregation values into the detail wihtout grouping.
Solution is below:
=Count(Fields!rn.Value)
I use it inside the column/header row.
I found a workaround for this. First create a data column with the value always set to 1. This will provide a value of one for each row of data.
Query Column
, 1 AS Unit
Use the "RunningValue" function into your report as shown below.
=RunningValue(Fields!Unit.Value,Sum,"DataSet")
This will also work as a 'running sum' if that's something you're looking for.

How do I select a specific column based on a variable in a MS Access query?

I have a large table with the following fields:
Date
Product_ID
AmountEUR_Field1
AmountEUR_Field2
AmountEUR_Field3
AmountEUR_Field4
AmountEUR_Field5
where each AmountEUR field represents the sales amount for a product.
The reason for having 5 different AmountEUR fields is that they are based on different Currency Rates (in example BeginingOfMonthRate, AverageMonthRate, EndOfMonthRate etc.).
I now want to copy a specific AmountEUR field to another table, but the AmountEUR field to be copied varies over time (sometimes it is AmountEUR_Field2, other times it is AmountEUR_Field5).
Therefore I need to select a specific column based on a variable from another table. (that variable should then have value between 1 and 5).
I have been thinking about making a new field called AmountEUR_ToBeUsed that is updated with the correct AmountEUR_Field, but that brings me back to the same problem of selecting the specific column I want copied.
Can a solution be made within the Access query designer, or do I need some VBA code?
You can just make this with the Access Query designer.
Specifically you will need the function IIF.
For instance, if you want to specify that before a date you wish to use AmountEUR_Field1, and otherwise AmountEUR_Field5 you can say:
IIF(somedate<#1/1/2011#,AmountEUR_Field1,AmountEUR_Field5)
Note, depending on the settings of your PC, you may have to say:
IIF(somedate<#1/1/2011#;AmountEUR_Field1;AmountEUR_Field5)

Microsoft Access Report Filter / how...?

I have a database to calculate my expenses. I record expenses with negative numbers, and salary with positive numbers. When I make the month report, and sum the values, it sums it all including salary. I want to code of Visual Basic to sum negative numbers only. I know about Filter property, but the Filter I put disappears when I close database. Can you help me, please?
You can build your report using a query or use the Where argument of the OpenReport method of the DoCmd object in versions of Access since 2003.
EDIT re comment
The easiest way to create a query is to use the query designer, viewed in SQL View, you should see something on the lines of:
SELECT Amount
FROM MyTable
WHERE Amount <=0