I'm designing a contract and payment processing database for a friends construction company. I've made an attempt at designing the data model, but wondered if anyone out there had ever come accross a similar scenario and could be of any help. I have attached a copy of my initial ERD.
Entitys are as follows:
Company
Holds details of the company that are operating the system.
Customer
Billing details for the customer.
Site
A customer has many different sites at which work is undertaken.
Contract
A contract is created for all work undertaken at a customer site.
Plot
The work a contract covers is carried out on various different plots at a customer site.
Stage
Work is carried out in stages on a plot by plot basis. When a work stage is complete the stage can then be invoiced for payment.
Invoice
Once work stages are complete an invoice can be raised. An invoice can be for one or more stages (always under the same contract).
Invoice_Line
Details of the different stages billed under a single invoice.
Payment
Stores detail of a customer payment.
Payment_Allocation
A single payment may be split accross multiple invoices. A single invoice may be paid through multiple payments.
The main area I was hoping for help with is payment allocation, the requirements of which are listed below:
1. When a payment is received it must be possible to split it accross multiple invoices (a payment will only ever be for invoices within a single contract).
2. It must be possible for an invoice to be paid in part (i.e. be paid by mupltiple payments).
3. If a payment isn't allocated in it's entirity, the the remainder should be put to a payment on account for allocation at a later date.
4. An entire payment should be able to be put to a payment on account and then allocated later.
5. It must be possible to enter credits against invoices.
The reason I have Contract joined to Payment_Allocation is so that a payment on account can be created and linked back to the contract, for allocation at a later date. If a payment on account is stored as an entry in the payment_allocation table it will become difficult to then allocate the payment on account to invoices and keep an audit trail. The payment on account isn't really allocated until it is put against an invoice so I'm loathe to do it this way.
On the other hand if I store the payment on account in the payment table (until allocated) it may make it harder for me to produce my statement report.
I'm also having difficulty seeing how I can build a statement of account from these two tables...do I need to build up a transaction table in order to do this effectively? Or a temporary table of transations to base my report on?
Hi I have some code in a function that I want to run BEFORE a form (FormB) is displayed to the user. FormB is called up by clicking on a button from another form (FormA), but when I display the ActiveForm . . . Dim MyFormPO As Form Set MyFormPO = Screen.ActiveForm MsgBox "here!!-" & MyFormPO.Name . . . I get the form name of FormA, and it errors-out because the objects I'm trying to reference do NOT exist in the Active form. I've tried calling the function from every Form event ("OnOpen", "onLoad", "OnActivate" etc,,) but ActiveForm always seems to be the first form. Anyone any ideas, please Thanks ajm
Hi all. I am considering developing a purchase order and warehouse management database, to be manage a cold store in my workplace.
What i have in mind is a system where the details of each pallet coming in is recorded (weight, quantity, location of pallet in warehouse etc.) is recorded, marked off against the corresponding purchase order number and then a label is printed with a barcode to quickly identify that pallet.
Handheld barcode scanners would be used to record when a pallet leaves the warhouse, and where its going to(despatch, production etc.). Ideally the scanners could be used to give forklift drivers order picking info aswell.
I'm fairly confident i can design the database, however, i have never done anything with barcodes, scanners or handheld devices. Is this even feasible with access? How do i go about doing it, any advice, example databases etc. greatly appreciated.
I'm working on a system for recording employee information, leave details, etc. I need to run a monthly update to increment each employees leave balance.
The two tables now in question are;
Employees - relevant fields are EmployeeID (key), Active (Boolean) and Leave (Numeric) [annual leave entitlement - eg 15 days]
The second table is LeaveTrans; Emprec, LDate, LType, PrevBal, ThisLeave, NewBal, Comments.
What I need to achieve;
For each "Active" record in the employee table, detirmine the monthly leave entitlement ("Leave" /12 - no problem here).
Append a new record to the LeaveTrans table with;
Emprec, LDate (Date of the update), LType (="Monthly allocation"), PrevBal (The NewBal from the last record in the table for this employee), ThisLeave (monthly allocation) and NewBal (PrevBal + ThisLeave)
I will need to access the last record for this employee to get the previous NewBal, before appending the new record.
The problem I'm having is appending to the LeaveTrans table, and then moving on to the next record in the Employee table, to repeat the process.
I've been pondering over a problem for a couple of weeks now - We receive around 1000 paper entries to our competition, and these all need manually entered into the access database in a one-er.
Is anyone aware of any ideas of how this could be made easier, and more automated?
I have a table (tblInstallations) which has records of date installed (for machines).
It is calculating that "next due maintenance" is one year after installation.
Sometimes we need to visit the site to maintain or service the machine before/after the specified date in "next due maintenance" and we need this to be calculated to reflect a year after date of visit.
I have a table called "tblMaintenance" which takes information about the machine an engineer is visiting from where originally the information are kept and that is in "tblInstallations".
How can I link the new date of the visit to update the record for "next due maintenance"...
I'm trying to setup a process of opening a form, saving to a location, emailing it as a PDF, killing the PDF, move onto the next form - rinse wash repeat until done.The below works fine on a single click, however if I try to set it as an event timer of loop, I get an error saying: This action cannot be carried out whilst processing a form or report event.
Do Dim outputFileName, Ref As String Ref = Vici_URN outputFileName = CurrentProject.Path & "Claim PackagesCICA" & Ref & " - " & Format(Date, "yyyyMMdd") & ".pdf"
I have an excel file that I need to prepare to create a report.It would be great if I could do this with Access 2003. This would mean that I need to import the excel file and create a table to handle this.Is there by any chance that I don't need to create a table and I can process the excel file? Or maybe automate the import of the excel file into table and only use a few of the columns so later I can create the report in access.Also what I need to do is add some columns with text in it (a standard text) that needs to add a day taken form the column to the right.
I simply would like to avoid to create a table from the import as this would make me end with a lot of tables (or mabye option to delete the table after finishing producing the report.
I am creating a db for a property management company. They want to be able to enter the monthly payment made each month on each property (there will be multiple properties involved) and also have a field that totals all payments made by the tenant over the course of their lease.
What might be the best structure for this type of situation? Should I create 12 fields for a year of monthly payments for each record? Should I create a seperate table for each property and it's payments? Should I create an Excel spreadsheet for the payments and link that file to the db as a table?
Any help and suggestions on this are greatly appreciated. Thank you in advance.
I'm working on a pretty serious report (at least for me)...I have 3 sub-reports inside, and the point of this is to use VBA and loop through several conditions (in the underlying queries), and print out in a batch for the user. When I add a page number footer it adds about 3 seconds to the processing time for a 14 page report. That doesn't sound like a whole lot, but when I loop through and process this 12 times, that's a lot of added time for the user...(the last thing I want to hear is it's slow!)
So, would it be faster if I set the page numbers in VBA? What event would I use? On Load?!? Also, how would I find the page number variables in VBA?
We have a special reduced rate that a client must prepay 12weeks before or sooner if a date is put in the [OverRideDate] field
I have been trying to construct a Query / If statement or should I use case statement to work out the actual payment date. Taking in to consideration all our funny little variables like
I will try to put the variable into words
[DateOfArrival]-84Days unless [OverRideDate] & Not Less than today then check its not a [ClosedDates] from the tbl_ClosedDates Then if it’s a Sunday –1 day as the accounts lady doesn’t work on a Sunday
Their simple????
Attached file with sample variable data BalanceDate.mdb
This is the second edited section: I got the update query to work properly. Is this the best way to solve my problem?
This is the original edited section: For the problem below would it be possible to use an update query to update the table? Criteria for the termination_date field would be "is not null" payment_to_date Update to: field would equal DateDiff("m",[payment_start_date],Now())*[monthly_payment] Is it possible to use other fields in the table as part of the UpdateTo: calculation? I get an error when I try this.
This is the original question: I have a field in a table called payment_to_date that I want to always be populated with the current total of how much a customer has paid to date based on their monthly payment rate. I have a form for data entry into this table but once their account info is entered the first time their won't be any changes to the account unless they terminate the service so calculating from an event procedure on the form doesn't make sense to me (I am new at this).
I entered the following in a text box control source on the form and it works but the textbox is not bound to the table so it's not the right way to do it.
=IIf([termination_date] Is Null,(DateDiff("m",[payment_start_date],Now())*[txtpayment]),(DateDiff("m",[payment_start_date],[termination_date])*[txtpayment]))
The calculation from above is basically: If there is no termination date then the payment to date = the number of months between todays date and the date payment was started multiplied by the monthly pay rate.
Can anyone tell me how to keep the information in the table current for the payment_to_date field?
I have a database that is like storage unit business. It gives you a fee once you select which unit you take for rent. When the balance is paid off, and new Month comes around i want the database to create a new balance on the table, how would i be able to do this?
I know that i can do it in two ways as i was told but i dont know how and where to start. I create some of it but i dont know what to include in the appended query etc.
i was told that In Access Help, look for COMMAND LINE OPTIONS and you will find -X macro, which is a way you can run a given macro from a command line.
"Create an append query that adds a $40 charge to every open account. Put this query to run in a macro. Create a separate icon that is private to you so that only you know where it is. Edit the icon properties to launch access on that database file with the -x macroname appended. Now use Windows Task Scheduler to launch the icon at a specific time of day on the 10th of each month. Don't forget that the macro has to end with a QUIT action."
I'm working on a vacation/time off tracker and was hoping to use the collect data feature. I've created a form where a user submits their requested date and number of hours, at which point I'd like the form to be sent to their manager for approval. The manager's email address is stored in a table. Once the manager marks yes or no, I'd like that reflected in the time off requests table, and an email sent to the requester letting them know if it was approved or not. Is this possible? How would I go about it. I'm pretty new to Access, learning on the fly, but I'm pretty good at modifying code to match my situation/working backwards if you have any examples for me to look at.
Well, as part of my new job I get to revise a current database for a client and I am hitting a brick wall in my mind at the moment and could use some ideas thrown my way on how to deal with it.
First of all I have two tables -
Table AR_Due AR_Due_ID - Autonumber (PK) Entity_ID - Long Integer (FK) AR_Due_Amt - Currency AR_Due_Date - Date/Time AR_Due_Waive (boolean and if checked the amt due is forgiven and not due)
Now, I have to pull all AR_Due where the payments are late (past the AR_Due_Date) and have no in the Waive column and, if partial payments were made those payments can't be past the due date or else they need to be included as late (that's my main issue - trying to figure out the logic on that one).
So, any ideas on how that might be best accomplished? I need a report that shows all late payments (not counting lates more than two years ago) including any where there were partial payments made but the total partial payments were not made before the due date.
I'll take any ideas, although I might not be able to use some of them due to having to follow certain standards here (don't know all of them yet but I've kind of figured a few out based on the existing db). And, I didn't put this all together so there are some things I can't change (at least at this point), but I'm happy to get any ideas that might spark the "aha" moment :).
Hello everyone. I'm a little new to the Access scene. I have a strong background in C, C++, Java, and assembly. Seems all the access books out there fail to mention the need to know vbs, heh.
Anyhow, I have a form ([WrkR]) based on a table ([ORDERS]) that has a customer's name ([Tables]![ORDERS]![name]), total payments to visa ([Tables]![ORDERS]![visa]), and total payments to cash ([Tables]![ORDERS]![cash]), and total payments to debit ([Tables]![ORDERS]![debit]). My form also has three rows, each containing a text box which holds how much a person has paid, and a combo box ([combo1], [combo2], [combo3]), that allows the user to choose what payment type was used. I have included a screen cap to demonstrate this.
I need to be able to create a function or macro, anything that will sum up the appropriate totals and store them in the corresponding columns in my table. Like in my example, there are 2 visa costs and a single cash cost that should be added up and stored in my table in the appropriate fields.
I have a database where my team will enter manual payment calculations into. Once entered, they will run and print the report for actual payment.
The report I have groups by payment type (see attached image of paymetn types) and then sub totals by group.
I need to somehow get these totals and use them to generate a gross payment. In the attached example, the gross would be the sum of worked hours + before tax allowance + after tax allowance. I'm not sure how I can do this in the group footer.
Some students pays fee for one month, some for two months and some 3 months.
School administration requires me to print notices for every student according their payment mode after comparing with next due months and already paid months.
Some notices will show their fee for the months as
(Id= 1 Jan-14, Feb-14), (Id=2 Jan-14, Feb-14, Mar-14), (Id =3 Dec-13, Jan-14) Considering as Id 3 has not paid due month i.e. Dec-13 Fee and his payment mode is 1 month only.
I am new to Access and have started to move across some Excel based programs.
I have a simple example with two tables and a form where on the form a customer ID is entered which displays the name and below it is necessary to enter the total payments made by that customer for the day ( all records for the same day are entered at one time, which is why I would like to autofill the date).
I can enter the date directly on the form for each customer entry but I would like to automatically enter the required date in the payment table using the value of a datepicker on the form to ensure that no date errors are made.
I have been trying to use the expression builder to do this but the datepicker does not seem to appear as a valid option.
Then a query from the payment that shows student I'd,arrears,amount due,paid. And balance
My question is
1.How do I transfer the students and their balance to a new semester and session 2.Do I have to new student and payment tables every semester bcos payment are made every semester 3. I want to keep each students payment for as long as they remain in the school 4. A session is made up three semesters how do I transfer students to a new session