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

Help with Conditional Dialogue Box

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

    Help with Conditional Dialogue Box

    Gusy I'm really sorry for taking up your time, but I'm stuck on what should be a simple pop-up dialogue box.

    I want to have an conditional dialogue box if the client has outstanding amounts. I've tried a number of things that have been added as an on depart action that runs a script.

    If I use what is shown below absolutely nothing happens. If on the other hand I remove the tbl commands and just put the if-then statement I get a box telling me there is an error on either the tbl1 portion, which when removed gives an error about the amountowed field. What am I missing here?

    tbl1 = table.open("clients.dbf") 'open tbl
    tbl1.index_primary_put("ClientID") 'set index
    If tbl1.amountowed > 0 then
    ui_msg_box("There are fees owed on this account!!")
    end if
    tbl1.close()

    I just want to make sure that the operator knows there are outstanding amounts. Any help would be appreciated and as usual thanks in advance.

    #2
    RE: Help with Conditional Dialogue Box

    Err. that was supposed to be guys not gusy, I don't know anyone on the list named Gus :( oh dear

    Comment


      #3
      RE: Help with Conditional Dialogue Box

      I appears that you are not fetching any records. The code you have is ok, but you need to find a record to evaluate the field value "amountowed" Since you appear to be looking for a specific clientID, you have to fetch a record with that clientID. Here is typical code to doe this, using what you already have

      '------ Example of typicazl code to add -----

      ' create a variable to store the id to search

      dim client_ID as c ' assuming the ID field is character

      client_ID = "some value id value" ' set the ID to a valid ID

      '------------ Now use your code ------

      tbl1 = table.open("clients.dbf") 'open tbl
      tbl1.index_primary_put("ClientID") 'set index

      '------- Fetch the record with a matching ID
      if tbl.fetch_find(client_ID) 0 then
      ui_msg_box("There are fees owed on this account!!")
      end if
      tbl1.close()

      '------ End code

      Your ui_msg_box also has a syntax error. You need a title and a message. You have only specified the title part, and I think you want that to be the message. Add one or the other

      ui_msg_box("Fees","There are fees owed on this account!!")

      Another little enhancement would be to include the balance in the message. Since you have the record and have checked the balance, you could do this:

      dim amt_owed as n
      amt_owed = tbl1.amountowed

      If amt_owed > 0 then
      ui_msg_box("Balance = $"+alltrim(str(amt_owed,10,2)),"There are fees owed on this account!!")
      end if
      tbl1.close()

      This will put the amount owed in the title. You have to convert the numeric value to character first, which is the purpose of the

      alltrim(str(amt_owed,10,2))

      Jerry

      Comment


        #4
        RE: Help with Conditional Dialogue Box

        doe this = do this. Lack of spel check gets us agin.

        Jerry

        Comment


          #5
          RE: Help with Conditional Dialogue Box

          Hi jerry and thanks for that it helped a lot. The thing is that the record is already found. The script is run as an "on depart" action action when the operator has found the correct client. I want the pop up box to display when he leaves that field to begin doing the clients next transaction.

          I'm currently scouring the xbasic manual to see if I can find a tbl.fetch_current command which I hope would then do the trick.

          Thanks again :)

          Comment


            #6
            RE: Help with Conditional Dialogue Box

            When you use table.open(), you open the table in a new session. This session has no link to any session already open, so even if you have found a record, the new session is unique and unrelated. If this is occuring in a form environment, then you can use

            tbl1 = table.current()

            to get a pointer, rather than opening a new session. If this is in a set, you may need to get the slot number of the table in the set to get the correct table. The parent table is slot 1 (the default). This first child is slot 2, etc. The slot number is optional.

            table.Current() is the same as table.current(1)

            If you are putting the code on the OnDepart event for a field there is no reason to open another instance of the table. This is all you need:

            tbl1 = table.current()

            dim amt_owed as n
            amt_owed = tbl1.amountowed

            If amt_owed > 0 then
            ui_msg_box("Balance = $"+alltrim(str(amt_owed,10,2)),"There are fees owed on this account!!")
            end if
            tbl1.close()

            Jerry

            Comment


              #7
              RE: Help with Conditional Dialogue Box

              Hi Jerry and thanks again. Well I've used the following;

              tbl1 = table.current() 'open tbl
              dim amt_owed as n
              amt_owed = tbl1.lateowed

              If amt_owed > 0 then
              ui_msg_box("Balance = $"+alltrim(str(amt_owed,10,2)),"There are fees owed on this account!!")
              end if
              tbl1.close()

              When the cursor exits the field i get an error saying;

              cannot close the main table for the session

              When I click abort the pop up box appears with everything where it sould be.

              When I try to close I get the same error and when I hit abort it completes and closes the pop up.

              Any idea what could be causing this?

              Comment


                #8
                RE: Help with Conditional Dialogue Box

                ok final update.... removed the tbl1.close() and everything works flawlessly now :)

                Comment


                  #9
                  RE: Help with Conditional Dialogue Box

                  Sorry about the error. When I did a cut and paste, I picked up the tbl1.close() in error. Your interpretation of the error message was correct.

                  Jerry

                  Comment


                    #10
                    RE: Help with Conditional Dialogue Box

                    No worries Jerry, if it wasn't for you I'd have lost what little hair I had left :)

                    Comment


                      #11
                      RE: Help with Conditional Dialogue Box

                      Themis:

                      Have you tried lookupN()?

                      Ken

                      Comment


                        #12
                        RE: Help with Conditional Dialogue Box

                        Hi Ken, hane't really had a chance to fully come to grips with the way I would use that command. Have been testing various things with it and it does look as if I'll be bale to integrate into what I'm doing but of course I really need to get a really good undertsanding of how it works.

                        I'll keep you posted as I go along :)

                        Comment

                        Working...
                        X