I want to make an excel graphic with 3 values:
Sales Order Date (The date sales enters the sales order)
Requirement Date (The date the customer wants this order)
Closed Sales Order Date (When sales closes the order)
This will be used to measure the service of our plant against completed delivered sales orders monthly.
I already found the first 2 data cells on table VBMTV, anyone has an idea where can I get the information regarding as the date sales close the order once it has been delivered to the customer?
Regards,
Assuming that the data is displayed in a transaction, you can do the following:
position the cursor in the field you are interested in
press F1 - you get a help text in a dialog labeled 'Performance Assistant'
click the button for 'Technical Information' (looks like a hammer and wrench) - you'll get another dialog
in this dialog there are fields for 'Table Name' and 'Field Name'
For most transactions, this information maps to the specific tables/columns in the database. There are some exceptions to this rule (mostly for those cases where the data is not directly read from the db), but it is a good start and works for about 80% of the cases.
If F1 and Technical Information (F4) does not work you can also try running a trace using ST05. (Do this only for one user and make sure to disable the trace once you are done).
I believe Sales Order Complete may be a status. (TECO or "Technically Complete" if I'm correct). The table that stores the date a specific status was set is JCDS. You will have to read it on the OBJNR of the sales order and the internal status number of the status that you care about.
Related
Don't know how to merely google for an answer on this one: How does one go about constructing an ever-expanding per-date engagement timetable - that links an employee and work type to a specific date?
What I want to achieve:
("RW" and "DO" is supposed to be user input stored in "tblEmployeeEngagement")
This is pretty easy to do with excel's tables, and index and match functions can do wonders, but I don't know how to get user-friendly results in access. Here's my table construction:
tblEmployees
EmployeeID (autoincrement)
First Name
Last Name
...
tblWorkType
WorkTypeID (autoincrement)
ShortName (text, unique)
Description
ShiftStart
ShiftEnd
...
tblDate
DateID (autoincrement)
Date (date, unique)
CompanyOperational (bool)
...
tblEmployeeEngagement
EngagementID
EmployeeID (relationship with above)
DateID (relationship with above)
WorkTypeID (relationship with above)
Let's say these are the tables. Theoretically one can enter multiple Engagements for same person with same date, but this is not at all necessary and let's say this option is eliminated. How do I go about making editable query/table for easy input as the one in picture?
A crosstable constructs it exactly as I want it, but it is NOT editable (as in pic related), which is an issue.
I am open to completely removing "tblDate" and adding "Date" field in "tblEmployeeEngagement", but I still don't see how I would construct this sort of query/table without VBA. The desired result is for end-user to be able to populate "tblEmployeeEngagement" alone.
Help.
I would build a form that does not have a table behind it.
In the header I would have a typed header for Employee and then I would have 7 (or 10 or whatever) number of fields for the dates. Let's assume that you are putting in time in the past, VBA On Open could set the 1st label text to 7 days ago, 2nd to 6 days ago, 3rd to 5 days ago, etc. If you add a date that matches to your tbl and is non-working, simply lock and darken the fields underneath those dates.
Under employee label, I would have a drop-down to choose the employee. Next to that would be 7 fields which each have the choice of RW and DO.
The user would then select an employee from the drop-down and go across the days and set the dates to be RW or DO or blank depending on the status.
When the user clicks the Save (or Close or whatever ) button, the computer would then create records for each employee, each date, and each Engagement to the Engagement table.
If you want them able to edit these Engagements, you could bring in the data for each Employee during the date range given.
Hope this helps.
I have an SSRS report with a dataset that queries AS400. I am trying to print a "Version number" on the top of my report. Due to several complications, I cannot really print a version number better than last update time.
This is my what my data looks like:
The query takes a parameter that is a PackingDate. As in, the ShopOrders were written to pack on this date.
The query returns anywhere from 10-25 shop orders for each PackingDate.
Each of these shop orders have 4 columns: DateCreated, TimeCreated, DateModified, TimeModified.
Shop orders go through changes and revisions frequently. Every time a shop order is changed, the DateModified, TimeModified field changes.
I want to look at each of these shop orders, look at the DateModified, get the maximum date, then look at the TimeModified, get the maximum time, and add a concatenated form of that as the version number on top of my report. For instance:
Date fields are in yyyyMMdd format and time fields are in mmhhss format.
ShopOrder: 65642
DateModified: 20180118
TimeModified: 124500
ShopOrder: 65643
DateModified: 20180117
TimeModified: 142000
Since the MAX(DateModified) in these two shop orders is 20170118, I want the TimeModified for that corresponding date: 124500.
So the version number would look like this: v0118.1245.
I would like to, if possible, have this done in SSRS and not have to do much in my dataset, but that is not written in stone. I just want the MAX(Time) for THE MAX(Date).
EDIT 1:
This is what I've already tried:
LOOKUP(MAX(Fields!DateModified.Value), Fields!DateModified.Value, MAX(Fields!TimeModified.Value), "ShopOrders")
I was pretty proud of myself for thinking of this, but that burned down quickly when I got an error that said I cannot use Aggregate functions in Lookup.
I'm not sure if you can use lookups in this case although I could be very wrong as I don't use lookups enough to know their limitations.
The way I would approach it would be to simply add a new column in your query results that combines your date and time columns. Then you could simply get the Max of that new column.
This is my first contribution for stack exchange. I take to feed-back and criticism well so please make sure I can learn from it if I'm not following correct protocol, community etiquette, etc
I work for a health care company that sometimes performs biometric screenings. I am tasked with creating a simple back-up system for our current cloud-based application. The system has to accomplish the following:
Enter participant into a member table using an entry form
Pull-up the member and record biometric data using a biometric entry form (12 metrics in total)
Allow user to print a report with member demographics, along with biometric detail in this order:
Column 1: Screening Measure (Height, Weight, waist, etc)
Column 2: Current Biometric Results
Column 3: Prior Biometrics (this will come from a data feed and will prepopulate a biometrics table (linked to participation table on participant id. There may be multiple periods for one individual)
In 99% of all situations, a participant will have 1 set of readings for 1 year period (1 for 2016, 1 for 2017, etc). Ideally, I would like to have a year parameter for column 2 and additionally for column 3. When the year is selected from the parameter the biometric values recorded in that year will populate the corresponding column.
My question is, would someone be able to help point me towards resources that help me understand how to tie data to specific parameters in a MS Access Report. Anything is extremely helpful!
FWIW, my short term solution is to build multiple queries to the effect of:
Query 1: Select * from Biometrics where year ='2017' > Most Current
Query 2: Select * from Biometrics where year = '2016' > historical
Bring both sets of results into print form. This will work for now, but I really want to have the ability to select which data based on the parameter in the report.
Thanks!
I am trying to make a spreadsheet for the Deans at my school to track student detentions. They aren't that great with technology so I want to make it as simple for them to use as possible.
Here is a link to the current layout: https://docs.google.com/spreadsheets/d/1FIW0QAWGStgdUmYU0rWAceWI-YvjM1RIIC_KC2OeWWI/edit#gid=0
It would have a row for every student in the school and use different columns to record when students received a detention and whether or not it has been served yet. I created a formula to check how many unserved detentions each student has so that the deans can easily sort for who needs to serve detention that day.
I want some help creating two scripts:
A button that the deans can click to assign a student a detention. It would need to find the next available empty cell on that row, input the current date, then find the next available empty cell and write "Issued"
A button that the deans can click to mark that student's detentions as served. It would need to find and replace all instances of the word "Issued" on that row with "Served"
Ideal dean workflow:
Issuing a detention - Find the student on the list and click the "Issue" detention button
Running detention - Find the student on the list and click the "Served" button
Meeting with a parent/looking over records later in the year - Find student on the list and scroll horizontally to view dates of all detentions earned that year.
Potential snags:
One of our deans already sheared a spreadsheet trying to sort it. Is there a way I can reduce this risk while still giving him the ability to sort by student name and number of unserved detentions as neccesary?
Here are a few workarounds in lieu of a macro:
To input date > ctrl + semicolon, or command + semicolon on macs. This will enter the current date in the cell.
Use the =countif formula to keep an easily sortable tally on number of detentions a student has been assigned and served
An if statement can let you know that, if the total count assigned vs. total count served do not match, then a student still has a pending detention.
I also recommend keeping a "viewer" tab that your dean uses and the actual area where people are recording the data separate. That way the dean can sort and manipulate your data without actually affecting the original entries.
I'm relatively new to Access and VBA but I have managed to get some basic VBA tricks working in both Access and Excel. Now I've got a challenge that I can't seem to crack. I'm building a database to track maintenance of a small trucking fleet. I've got most of the tables and forms I need to do the basic tracking and management of equipment and maintenance in place.
One of the things we're tracking is called PM's which stands for preventative maintenance (lube jobs and oil changes). We do those on calendar intervals for trailers and mileage intervals for tractors. Right now, I'm trying to get the calendar tracked equipment working. I've a table called tblEquipmentMaster which is where all the specifics for each piece of equipment is kept (make, model, year, VIN, etc) and that table has a field called LastPMDate. All the maintenance records go in two other tables, tblMaintenance which records the unit number, vendor, invoice date and invoice amount and tblMaintenanceDetails which records the each line item of work that was performed on the unit (i.e. replaced water pump, replaced headlight etc).
The maintenance details table also contains a drop down list of standard maintenance codes to allow for easier searching of certain maintenance items later. One of those codes is PM. I also have several forms built to interact with these tables including a data entry form for adding new maintenance records.
What I'm trying to accomplish is to have the LastPMDate field for any unit number in tblEquipmentMaster automatically update to match the InvoiceDate field in tblMaintenance anytime an invoice is entered for that unit number which has a line item containing the code PM.
I've tried building an update query to do this but in addition to changing the LastPMDate field like I want it to, it also ends up changing the invoice dates for all previous PM invoices to the date of the last invoice which contained a PM. Not good.
So my question is, would an update query be the best way to do this or would I be better off with some sort of VBA solution? I have an add record button on my maintenance invoice data entry form which users use as a save record/clear form button when all the info for an invoice has been entered. I'm thinking some VBA code tied to the on_click of that button which would look at the invoice you just added, determine if it contains the PM maintenance code, then update LastPMDate field for that unit number with invoice date from that invoice would be a good way to do it but I honestly have no idea what functions or methods I'd need to get that to work.
Any insights or suggestions appreciated.
It's very hard to follow the flow of what you are describing, even if I have experience of PM and AM (Autonomous maintenance).
What is lacking is the relations between the three tables.
Nevertheless I prefer VBA solutions (maybe because I started programming when everything had to be written...). With VBA you can finely control your workflow.
If I understood well the 1st table is tblMaintenance in which you have the Invoice data.
Then you should have to scan the tblMaintenanceDetails to find the list of PMs and filter the tblEquipmentMaster with current PM value to update the LastPMDate with the date of the 1st table.
Did I succeed in providing you an idea to solve your problem?
Let me know.