Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Set Design question

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Set Design question

    Just wanted to get ideas from people what is best for design of a set. I have an invoice header as my parent of a set. With this set I am wondering if people include their customer table as part of the set even if you are doing a lookup of that set. For instance I use customer number as a lookup and have alpha enter the fields. Just wanted to get ideas of what is best. Sorry for such a beginner-like question but want ideas.

    #2
    RE: Set Design question

    David,

    This is a point driven home to me by some of Alpha's best.

    Don't add any more tables to a set than absolutely necessary. Tables used as a lookup do not need to be part of the set.

    kenn
    TYVM :) kenn

    Knowing what you can achieve will not become reality until you imagine and explore.

    Comment


      #3
      RE: Set Design question

      I kinda figured that. I am trying to make my sets very small. I'm just finding a few problems because of it. However that is more my inexperience than anything else.

      Comment


        #4
        RE: Set Design question

        I completely agree with Kenn. On the other hand, there are times when you need the additional info. If you need it, include it.

        Just keep in mind that sometimes it's better to have two smaller sets to handle specific situations rather than one large one that can "do it all".

        Comment


          #5
          RE: Set Design question

          I'm still trying to figure out what is best relational and what is not. Thats part of the problem of working with a flatfile database for so long. For instance having like an auditrail is nice in some instances as in invoices where a customer repeats business. It's nice ot know that the address has changed without having to note it specifically.

          Comment


            #6
            RE: Set Design question

            David,

            I have roughly almost 5000 invoices in my invoice set. Most of my invoices have repetitious information such as the Company Name, Address, City, State & Zip. I pull the information into the invoice header via a lookup from my orders table, which gets its' customer "bill to" information from the customers table. The "ship to" information depends upon where the customer wants me to ship; this information is entered from the Purchase Order onto the Order table. I have had occasssion where a customer would move or have multiple "ship to" addresses-so I enter those manually, or where the customer has moved. When the customer moves, I simply change their information in the customer table and when I enter an order it pulls the new information from the customer table.

            I hope my late-night babbling has been helpful.

            Mike
            Thank you,
            Mike Konoff

            Comment


              #7
              RE: Set Design question

              David,

              The answer is quite simple, any data that repeats itself should be on its own table. Example of this would be order items. This is called a one to many relationship. Since this is new for you, keep everything that does not repeats itself in one table.

              Any data that appears in a grid usually belongs on a separate table, again the one to many relation. It's amazing how many people got their start with Q&A.

              Alpha is by far the easiest database for beginners.

              Good luck,
              RF-ARS-Motorola

              Comment


                #8
                RE: Set Design question

                To follow up on this topic. If you go with true database normalization, it recommends to link the customer table to your invoice table. However from a business point of view this is really not a good idea.

                Let's say you have a repeating customer who places an order. On this particular order he wishes the billing and shipping information to be different. If the customer table was link to the invoice table then all the information for this customer on all previous orders would also be changed. This is not a very good idea since you may want to lookup an old ticket and see the billing and shipping information just for that one ticket.

                RF-ARS-Motorola

                Comment


                  #9
                  RE: Set Design question

                  Well that is true and I used to do that. However, what I have done to fix that is to include in my invoice header table most of the info that is in my customer table. If there are any changes then I have set it to post to the customer table the new info if wanted. Therefore all of the previous invoices will keep the old addresses. I too needed that work around and it does work great!

                  Comment


                    #10
                    RE: Set Design question

                    Ray,

                    That's a good observation. Sometimes a history or other list is needed for a business purpose such as the hospital where a doctor saw a patient. You just have a table allowing multiple entries of addresses with the same basic linking ID key and then tell the set to link to last for views and lookups. This gives you the most recent data without forcing you to delete or forego the old data.

                    For keeping the historical records linked, new records also have to record which address they need to link to so the history can be preserved. This can be done by use of something such as an address counter or address date information which is added to the basic link value so the particular address can be specified for each record.

                    Dave

                    Comment


                      #11
                      RE: Set Design question

                      David,

                      We use the customer ID field (A Key field) as a lookup to fill in information into our ticket (Your Invoice Header). At this point this customer information is disconnected from the customer table, so any information we change here does not reflected back, however we also have the customer table link to ticket.

                      We have a tab within a tab on the first ticket tab which has customer information for the ticket. We have a sub tab on the first tab, one is for a ticket customer information the other is for customer information. The lookup enters the data into the ticket customer information area, but if they want to change something at the customer level, just click the second tab which now links directly to the customer table, without changing any customer ticket info.

                      It's like getting the best of both world. You could also just have a button on the ticket customer information that pops up a form that is linked directly to the customer table for instance customer changes without having to go back to the customer database.

                      Best wishes,
                      RF-ARS-Motorola

                      Comment

                      Working...
                      X