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

Index recommendation

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

    Index recommendation

    Which of the following, if any, would be the recommended index specification?

    cancel = logical field
    EIS = date field

    CANCEL = .T. .AND. ISBLANK("EIS")

    or

    CANCEL = .T. .AND. dtod(EIS)

    #2
    RE: Index recommendation

    I made a typo above and in thinking about it, perhaps I should use:

    CANCEL = .T. .AND. EIS

    Comment


      #3
      RE: Index recommendation

      How about

      CANCEL = .T. .AND. alltrim(cdate(EIS))=""

      I use this in a number of expressions and it seems to be reliable.

      Jerry

      Comment


        #4
        RE: Index recommendation

        This is simple and works fine

        CANCEL = .T. .AND. EIS = {}

        Daniel Weiss
        Daniel Weiss
        EZ Link Software

        Comment


          #5
          RE: Index recommendation

          Hi Tom,

          Are you saying that this is the index expression?

          I'm not saying this is right, but I would want the index expression to always evaluate to a value. If this is the index expression, then it would appear to me that the index key value could at times end up blank. I would rather have the key value always be a character value rather than a logical value. I don't know if this is right, I don't suppose there is anything wrong with a logical key value, it's just my gut reaction. Either way, I'd always want the expression to evaluate to an explicit value.

          Good luck,
          Jim

          Comment


            #6
            RE: Index recommendation

            I agree with Jim. I'd have a calculated field in the table with if(CANCEL = .T. .AND. alltrim(cdate(EIS))="" ,"T","F")
            I'd index on this field.I think this would be your best bet to insure optimization when doing queries.

            Comment


              #7
              RE: Index recommendation

              Correct me if I am wrong, but doesn't *every* index expression evaluate to a logical value? In other words, if you evaluate an expression (if it is an index expression) it will always evaluate to true or false. It doesn't seem possible for an index expression to evaluate to anything other than true or false, in my mind. Am I not on the same wavelength as all y'all?

              Tom Lyon

              Comment


                #8
                RE: Index recommendation

                Tom,

                There are 2 expressions in an index. Which expression are you trying to do here? From the expression I see, it is the filter expression.

                If you are trying to filter the index, then a logical must be reached.

                Are you saying the isblank function is not working all the time? I have suspected that function for some time now.

                Dave

                Comment


                  #9
                  RE: Index recommendation

                  Side note - - I try to stay away from indexes wiith more than one filter. I also found if you duplicate a filter with a form filter, you can empty the index.

                  Dave

                  Comment


                    #10
                    RE: Index recommendation

                    You write:

                    Correct me if I am wrong, but doesn't *every* index expression evaluate to a logical value? In
                    other words, if you evaluate an expression (if it is an index expression) it will always evaluate to
                    true or false. It doesn't seem possible for an index expression to evaluate to anything other than
                    true or false, in my mind. Am I not on the same wavelength as all y'all?

                    very few index expressions evaluate to .t. or .f.
                    most indexes are on some field, like last name, social security
                    number, date of bill, invoice number, etc.
                    having an index full of only .t. and .f. values is a very
                    inefficient index. it's much better if each record has a unique
                    entry in the index structure, rather than hundreds or thousands of
                    entries producing identical index values.

                    Comment


                      #11
                      RE: Index recommendation

                      Yes, that appears to be the glitch I am running into.

                      Tom

                      Comment


                        #12
                        RE: Index recommendation

                        Ah, I am thinking maybe we are not on the same wavelenght. What I mean when I refer to index expression is index filter. Does this shed mre light on the problem?

                        Tom

                        Comment


                          #13
                          RE: Index recommendation

                          try in your filter expression:

                          CANCEL = .T. .AND. dow(EIS)=""

                          Maybe that one will work

                          or

                          CANCEL = .T. .AND. day(EIS)=0


                          Dave

                          Comment


                            #14
                            RE: Index recommendation

                            you may get more stability if you create a default rule
                            for the "eis" date of,say, {1/1/1900}, or some other date
                            that is guaranteed invalid for your purposes, and then
                            create a filter for
                            cancel=.t. .and. eis={1/1/1900}

                            Comment


                              #15
                              RE: Index recommendation

                              Is there a documented instability with date-type fields? We seem to have established that logical fields often require special treatment. Could the same be true of date fields?

                              Tom

                              Comment

                              Working...
                              X