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

How to use Query Filter Genie in Xbasic Script?

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

    How to use Query Filter Genie in Xbasic Script?

    Hello,

    Rather than re-inventing the wheel, I would like to use Alpha's built in query/filter genie in the context of an xbasic script. In psydo-code, here is what I would like to do:

    vQG = a5_load_QueryGenie("TableName")
    vQG.activate()

    'wait while user enters the query/order

    vFilter = vQG.Returned_Filter()

    ' Use the filter/query in multiple operations
    END

    The following comes close:

    f = form.load("Customer Information")
    f.Query_Genie()

    as does:

    operation_startup("query records","c:\alphasports\customer.dbf",.t.)

    But I want to get the results of the Query Genie and do what I want with it. Anyone know if this can be done??

    Thanks,
    Jim

    #2
    RE: How to use Query Filter Genie in Xbasic Script

    Hi Jim,

    I haven't done exactly that but I have achieved something similar. (And you helped me with an issue related to the syntax.)

    I throw up an xdialog and users make choices. Based upon the UI I synthesize a query expression which I pass to the form from which the xdialog is called and to a report called from the form.

    But I didn't try to use the query genie itself which is a nice idea.

    Bill
    Bill Hanigsberg

    Comment


      #3
      RE: How to use Query Filter Genie in Xbasic Script

      Looking at your question again, if you call the query genie from a form and can get the form to display the query generated by the genie, then current_filter_expression can be taken from the form.

      I imagine you did this, though.

      Bill
      Bill Hanigsberg

      Comment


        #4
        RE: How to use Query Filter Genie in Xbasic Script

        Here is the xdialog which serves as the query generator.
        Bill
        Bill Hanigsberg

        Comment


          #5
          RE: How to use Query Filter Genie in Xbasic Script

          Jim,

          I was working on something similar just today, but for a report. I think you are just looking for a5_filter_builder().

          Below is the entry I just put in my faq database, although it is slanted for reports.

          To prompt for filter criteria in a report, use OnPrintInit and use the filter expression in the record selection criteria of the report.

          Following is OnPrintInit code.

          DIM Shared vFilter as C ' so report can see it
          vFilter = ".t."
          vReplyN = ui_msg_box("Question","Any additional filtering criteria?",UI_QUESTION_SYMBOL+UI_SECOND_BUTTON_DEFAULT+UI_YES_NO)
          IF vReplyN = UI_YES_SELECTED
          vFilter = a5_filter_builder("","donorset.set")
          IF vFilter = "" ' Cancel from filter builder
          vFilter = ".t."
          END IF
          END IF

          Then the record selection criteria in report must be
          ... .and. eval(vFilter)

          eval() needed so vFilter is evaluated as an expression. Otherwise can't save filter because a5 does not parse it. I also set vFilter as a Shared variable in the report, but don't know if that is necessary.

          For this report there is also an Ask variable in the record selection criteria. It is prompted for before OnPrintInit, and that is what I wanted.

          Bill.

          Comment


            #6
            RE: How to use Query Filter Genie in Xbasic Script

            Hello Bill,

            Thanks for the thoughtfull replies. I will probably have to approach this as you have done. Your xdialog looks great.

            I don't want to have a set of canned query options, and the query genie has a ton of capabilites that would take a long time to duplicate. It would be great if we could highjack the built-in functionality that Alpha provides, and you know that at a lower level, this is probably how Alpha uses this tool. It just doesn't appear that they expose it to us, or the syntax is not documented to the public.

            Thanks,
            Jim

            Comment


              #7
              RE: How to use Query Filter Genie in Xbasic Script

              ""a5_filter_builder() ""


              Bill you are a life saver!

              Exactly what I was hoping to find. I've never ran into this one.

              Thanks a ton,
              Jim

              Comment


                #8
                RE: How to use Query Filter Genie in Xbasic Script

                Hello Bill,

                ""eval() needed so vFilter is evaluated as an expression. Otherwise can't save filter because a5 does not parse it. ""

                Don't understand ?? Why not do:

                vfilter = a5_filter_builder("","customer")

                :report.preview("Customer List",vfilter)


                Thanks again,
                Jim

                Comment


                  #9
                  RE: How to use Query Filter Genie in Xbasic Script

                  Absolutely, you could do that.

                  I was just doing it all internal to the report. My users may run the report directly and I need to have the same custom stuff happen.

                  If you were going to use the same filter in several places, you would want to do it your way.

                  Bill.

                  Comment

                  Working...
                  X