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

Sorting numbers

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

    Sorting numbers

    Hello Everyone,

    When you want to sort numbers in order, 1,2,3,4,5 etc. instead of them sorting 1,10,11,12,2,20,22,3,30,33, etc., is there a function, that will force them to do so.

    Instead of using 01,02,03,04, to keep 1 thru 9 in order??

    I have a report, and a form, that need to sort the details this way. I would have sorn, that when I made them origionally, they sorted correctly, but now they sort, 1,10,2,20,22,3,30 etc.............

    Thanks Ed

    #2
    RE: Sorting numbers

    "Numbers" will sort in numerical order. If you have character fields consisting of "digits", they will sort in character order, beginning from the leftmost position.

    You will have to sort on Val(charvalue).
    There can be only one.

    Comment


      #3
      RE: Sorting numbers

      Thank You Stan.

      That is exactly what it is, and Val() works great. Thanks I learned a new function.

      I forgot, that this one field is a Char field.

      Have a nice night.


      Ed

      Comment


        #4
        RE: Sorting numbers

        Ed,

        There's an easy visual cue to distinguish numeric fields from character fields. While browsing the table with the default browser, if the data in a field is left justified, the field is char type. If it's right justified then it's numeric. -- tom

        Comment


          #5
          RE: Sorting numbers

          Tom's point is good but a calc field with just numbers is also left justified by default.

          kenn
          TYVM :) kenn

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

          Comment


            #6
            RE: Sorting numbers

            Ken,

            If you are referring to numeric fields that are defined in field rules to be 'calculated fields' then you are mistaken. These will appear right justified in the default browse for your table.

            If you are referring to a calculated display field in a form, then you are talking about something other than what I was describing.

            -- tom

            Comment


              #7
              RE: Sorting numbers

              Tom,

              I was talking about the latter, a calc field on a form.

              kenn
              TYVM :) kenn

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

              Comment


                #8
                RE: Sorting numbers

                Hi Everyone,

                Appreciate all the tips. A few months ago, I was really scared to run into problems. Now I look forward to finding out alternate ways to get to the correct end. I see that in the database world, you can sure do a few zig, zags to make thing work.

                Ed

                Comment


                  #9
                  RE: Sorting numbers

                  Hello Everyone,

                  When I designed my application, this particular field should have been numeric(hind sight).

                  I have tried to filter a form, and a report with VAL(), on this CHAR field, but it is still sorting as such 1,10,11,12,2,3,4,5,6,7,etc.

                  Is there a way to help VAL make the 10,11,12, sort after 9 etc.

                  Thanks Ed

                  Comment


                    #10
                    RE: Sorting numbers

                    Hello Again,

                    Could someone help, with inserting VAL(), into this script?

                    I cannot seem to get it working right in the query.order part of the script. The field that needs to sort by number order is the char field "Dock_Receipt_No". It is a script, that goes with a Variable, and Branching.

                    'Open a Form or Browse layout, displaying all, or selected records in the layout.
                    query.filter = "(Job_number = Var->Job ) "
                    query.order = "Job_number+Port_Code+Dock_Receipt_No "
                    'replace variables in the filter with their actual values
                    query.filter = convert_expression(query.filter,"V")


                    'Open the layout_type showing just the records that satisfy the filter
                    DIM Shared varP_Main_Table2 as P
                    DIM layout_name as c
                    layout_name = "Main Table2"
                    varP_Main_Table2 = :Form.viewqueried(layout_name,query.filter, query.order)
                    Dim object_name as C
                    object_name=":"+"Main_Table2"
                    DIM varP_Object as p
                    'Get a pointer to the specified object
                    VarP_Object=obj(object_name)
                    'Check if gthe specified object exists
                    if .not. is_object(varP_Object)then

                    'Displays a message box (style:'OK, Cancel Buttons', image: 'Question symbol', id: 'msgbox1').
                    DIM SHARED msgbox1_result as N
                    DIM SHARED msgbox1_OK_Button as L
                    DIM SHARED msgbox1_CANCEL_Button as L
                    msgbox1_OK_Button = .F.
                    msgbox1_CANCEL_Button = .F.

                    title_var = "Vessel Job Number not found!"
                    message_text_var =

                    Comment


                      #11
                      RE: Sorting numbers

                      I don't know if this will help you, but this is what I do to sort numbers in character fields.

                      I design an index which includes the field. Let's say the field is 5 characters long.

                      field character 5

                      I then use the padl function.

                      padl(alltrim(field),5,"0")

                      1
                      11
                      2
                      3
                      33
                      4

                      becomes

                      1
                      2
                      3
                      4
                      11
                      33

                      the index looks like

                      00001
                      00002
                      00003
                      00004
                      00011
                      00033

                      Ron
                      Alpha 5 Version 11
                      AA Build 2999, Build 4269, Current Build
                      DBF's and MySql
                      Desktop, Web on the Desktop and WEB

                      Ron Anusiewicz

                      Comment


                        #12
                        RE: Sorting numbers

                        Adding to Ron's comments, you could change your query order to:
                        query.order = "Job_number+Port_Code+padl(alltrim(Dock_Receipt_No),5,'0')"

                        Note that the zero at the end is enclosed in single quotes because (a) the whole order expression must be enclosed in double quotes and (b) in this case it is really just a character.

                        You can also use double quotes preceded with the backslash but I find that method more difficult to read:
                        query.order = "Job_number+Port_Code+padl(alltrim(Dock_Receipt_No),5,\"0\")"

                        FYI: Adding Trim() is adequate IF your data is entered correctly; i.e., without preceding blank spaces. However, the use of Alltrim() is much safer. The reason a trim operation is needed is that a character field STARTS with the characters entered and is filled with blanks at the end. Therefore, using PADL(FieldName,5,"0") for a 5 character field with the value "98" in the field would simply result in "98 " - because the field already has 5 characters (spaces are characters as far as a computer is concerned), no zeroes are added.

                        Comment


                          #13
                          RE: Sorting numbers

                          Thanks to both of you for the help. I really appreciate the explination, it helps me to understand what you both have done.

                          I chose to use:

                          "Job_number+Port_Code+padl(alltrim(Dock_Receipt_No),5,'0')"

                          and it worked great in the script. I also used it without the quotes for an order expression in a report, that esentially needed the same number sorting.

                          Have a nice night..........Ed

                          Comment

                          Working...
                          X