Coffeehouse Thread

23 posts

I'm New in Programming World: Need help for Project.

Back to Forum: Coffeehouse
  • User profile image
    Eigenvector

    Hi All,

    I am new into programming world, I am working on some project where I have to create a database of some Projects. Below are details.

    There are 3 tables Project Details, Consultant and Invoices Trackers.

    1. Project table has information about all projects. Like ProID, ProDescription,ActivityID,Total Capital, Amount spent per Activity, Owner and Expect completion Date.
    2. Consultant table has FirstName,LastName,ConsultingCmpny,
    3. Invoice tracker table will contain all the invoices that are realted to projects, The table must contain following data. Cmpny, Desc, Billing Period, Consultant Fname, Consultant Lname, ID, Invoice number, Amount, ProjectID, Invoice Approver.

    Realtionship.

    Consultant and Project are related with Project Desc.

    Project & Invoice are related with Project Activity ID.

    Consultant and Invoice are related with Some ID (I have to create.)

    Can some help me to achieve my goal.

    Regards

    Eigen.

     

  • User profile image
    Ian2

    @Eigenvector:When is it due in?

  • User profile image
    ZippyV

    What's your question? You seem to be able to describe which columns you will need in your database so that doesn't seem to be a problem.

  • User profile image
    Eigenvector

    @Ian2: I have to complete this Project by next weekend.

     

  • User profile image
    Eigenvector

    @ZippyV: I need update query for the same and How to create a Main Form in which I have 5 tabs...Main, Project Details, Consultant Details, Invoices, Report centre. I also need a login form in my project. In all the Form I need add option, So I can add More Projects, Consultant as well as Project related invoices. Last but not least I also want to add Users later on in Login form..

     

    Thanks

    Eigen.

     

  • User profile image
    lensman

    @Eigenvector:  Your description of what you need to do is reasonably concise.  You have not described how you wish to implement those requirements.  (That is of course what programming is)  What language are you using?  What tools do you have at your fingertips?  In other words, what constraints must you operate within?

     

    As an example you could fire up Access and have your project in about 20 minutes.  

    You could fire up Visual Studio (Professional Edition) and use the database tools to create an "object" based solution.  It, depending upon the version you own could even create the database in a SQLEXPRESS edition SQL Server for you.  You could then use the various wizards within Visual Studio to create a virtually code free solution to interact with the database you just created.

    If you are restricted to tools which are not quite so friendly you can do it "old school".  For example using MySQL you can manually create the database tables.  You could then use the Express editions of .NET (pick your favorite language) and write the code to interface your program to the MySQL database.  This of course would require the most coding on your part as you would likely have to construct SQL expressions to perform your updates.  Of course this is probably the goal of your assignment - to actually learn how to code.

  • User profile image
    Ian2

    Have you been given a technology that you must use?

  • User profile image
    Eigenvector

    @lensman: Thanks for such a good explanation, I am using MS Access. I'm bound to use that only.

     

     

  • User profile image
    Eigenvector

    @Ian2: I have to Use MS Access Only. Sad I'm really worried about it, i Don't know how to do it. I'm just picking up books and trying to find things but not getting where to start, as i have never been into technology..

     

    Eigen

     

  • User profile image
    JoshRoss

    , Eigenvector wrote

    There are 3 tables Project Details, Consultant and Invoices Trackers.

    1. Project table has information about all projects. Like ProID, ProDescription,ActivityID,Total Capital, Amount spent per Activity, Owner and Expect completion Date.
    2. Consultant table has FirstName,LastName,ConsultingCmpny,
    3. Invoice tracker table will contain all the invoices that are realted to projects, The table must contain following data. Cmpny, Desc, Billing Period, Consultant Fname, Consultant Lname, ID, Invoice number, Amount, ProjectID, Invoice Approver.

    Realtionship.

    Consultant and Project are related with Project Desc.

    Project & Invoice are related with Project Activity ID.

    Consultant and Invoice are related with Some ID (I have to create.)

    You're going to need some more tables. I'm not sure about the carnality of your entities based upon your description of things. 

    [Person](Id,FirstName,LastName)

    [Owner](Id,PersonId)

    [Project](Id,Description,OwnerId,Capital,StartedOn,DueOn)

    [Activity](Id,Description)

    [Company](Id,Name)

    [Invoice](Id,CompanyId,ProjectId,ApproverId,AssignedOn,CompletedOn)

    [Approver](Id,PersonId)

    [Consultant](Id,CompanyId,PersonId)

    [InvoiceLine](Id,Description,InvoiceId,ActivityId,Amount,ConsultantId,AssignedOn,CompletedOn)

    [BillingPeriod](Id,Description,StartsOn,EndsOn)

    With these, I think you can do everything you want to do, or maybe not, but it's a good start.

     

  • User profile image
    Eigenvector

    @JoshRoss: Josh Thanks a lot...Now I need to write a code for the same. I'll make all the table as you suggested Then I'll try update query for the same.

     

    Thanks

    Eigen.

     

  • User profile image
    JoshRoss

    I just blew away my edits by mistake. Here is what I think I had...

    You might want to combine project and invoice tables.

    [Person](Id,FirstName,LastName)

    [Company](Id,Name)

    [Consultant](Id,CompanyId,PersonId,HourlyRate)

    [Owner](Id,PersonId)

    [Approver](Id,PersonId)

    [Invoice](Id,Description,Capital,CompanyId,OwnerId,ApproverId,AssignedOn,DueOn,CompletedOn,ReceivedPaymentOn)

    [Activity](Id,Description,EstimatedHours)

    [InvoiceLine](Id,InvoiceId,ActivityId,ConsultantId,ActualHours,AssignedOn,CompletedOn)

    [BillingPeriod](Id,Description,StartsOn,EndsOn)

  • User profile image
    Eigenvector

    @JoshRoss: Hey Josh, Will you be able to help me out with update query, Like I make entry in Invoice table and my Project details table get updated. Activity ID is common between Invoice and Project table.

    Regards

    Eigen

     

  • User profile image
    JoshRoss

    @Eigenvector: I haven't used Access since around 1998. You might want to go to a more definitive source, like a book or some Access user group.

    -Josh

  • User profile image
    Eigenvector

    @JoshRoss: Right! Thanks a lot for help...I have some books on MS access, I'll do my best to complete this Project on time...Thank Josh.

     

    Regards

    Eigen

     

  • User profile image
    magicalclick

    Create forms for each table first. It gives you bare bone access to the data. And then start learning how to combine those forms together, likely can just an add button to open up the desired sub form. I cannot help you with access because I am not familiar with it, but, this direction should give you a good progressive learning strategy. Hope this helps.

    Leaving WM on 5/2018 if no apps, no dedicated billboards where I drive, no Store name.
    Last modified
  • User profile image
    JoshRoss

    The only strange join will be for the billing period. It will depend on when you bill. If it is the period completed, it would look something like this:

    select i.*, (select description from BillingPeriod
    where i.CompletedOn between StartsOn and EndsOn) as BillingPeriodDescription
    from invoice i

  • User profile image
    JoshRoss

    , Eigenvector wrote

    @JoshRoss: Hey Josh, Will you be able to help me out with update query, Like I make entry in Invoice table and my Project details table get updated. Activity ID is common between Invoice and Project table.

    Regards

    Eigen

    That's just a poor design. I would highly recommend removing the Project table. Since projects are 1 to 1 with invoices, it makes more sense just to get rid of it all together. You could make a Project view based upon the Invoice table, if you needed something named Project.

    -Josh

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.