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

FreshenBrowse Challenge

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

    #16
    RE: FreshenBrowse Challenge

    Whoops. Worked great until I added Tom Patten. Tried to enter a new phone # and kinda messed up. Fix: Removed the script from Phones3 OnInit and added

    if var->currphone=""
    add.push()
    end
    end if
    phones3.index_set("ByPhone")
    topparent.find(currphone)
    phonetype.activate()

    to the OnArrive of the Add A New Number button. Also made that button the first tab stop. Seemed to settle it down a bit.

    Comment


      #17
      RE: FreshenBrowse Challenge

      I disqualified myself, since I would use the browses to enter and remove data directly without use of a popup form. I also would not use a set in this case, since to resynch the browse, a query is going to need to be run, as in Dr. Wayne's example. Lightning Optimization works on this 'set' of data and non-use of a set would not be noticeable in terms of performance. One other difference I see is that I would not delete any records from the browse. I would flag them for deletion, then use a maintenance utility to do the deletion when the indexes where not in use, such as I now do with my nightly maintenance routines on other databases.

      Tom Lyon

      Comment


        #18
        RE: FreshenBrowse Challenge

        Tom,

        I agree that in some applications it makes sense to use the browse for data entry, if you will concede that in others it's too difficult.

        I also wouldn't argue that using the set probably doesn't make much sense for telephones (though it's becoming difficult to decide how many to allocate for each contact, since we now have beepers, cell phones, fax phones, home phones, work phones, direct lines, switchboards, etc. and so on). In a sales order application however being able to simultaneously delete the row from the browse when an item is dropped from an invoice is usually regarded as essential.

        As for the queries, I think maybe other contestants will enter the 'lists' to demonstrate techniques which do not require them.

        -- tom

        Comment


          #19
          RE: FreshenBrowse Challenge

          Right..if you have 15 columns in a browse, that's not very efficient data entry. A couple or three, yes, that's where I see it as being more efficient.

          As for deletion, I normally use a flag that removes the record from an index, then delete the flagged record permanently during maintenance. Maybe I am doing something wrong, but whenever I have deleted records it seems I have more index problems, too.

          The set isn't really an issue, except it doesn't fit with my methods quite as handily in this case.

          I too, am curious to see the various methods others will use to get the goldarn browse refresh thing to work.

          Tom Lyon

          Comment


            #20
            RE: FreshenBrowse Challenge

            Tom,
            I just didn't bother to do the second case (dialog form), "leaving it as an exercise for the reader", as my old college texts would say. I don't think it
            is in principle any different from the non-dialog case. So tell Ignatious Pickypicky that he has to do a little work on his own!

            As for the logic, the delete record doesn't require the
            sys_send_keys() because I am deleting through a form-level
            method (browse1.delete_record()), rather than deleting in the
            "backgroun" through the table. Deleting with a form-level method
            should not require the sys_send_keys(). In fact, the OnActivate
            event doesn't fire for after the deletion. The OnActivate event fires
            after the Phone1 form is closed when a record is added.

            Actually, I think you must have dozed off a bit during the recent A5
            conference, because I covered this problem during one of my talks.
            Your example is very clean, though, and I hope it puts the refresh-browse
            issue to rest.

            The problem with refreshing the child browse is that A5 creates
            a query on the fly to display the child records for the parent. When a new
            record is added to a child table outside of the displayed form, it then
            becomes necessary to force A5 to recreate the query, something it would
            generally not do in the interests of efficiency. As you describe, the steps
            I go through in the "Save" button in the Phone1 form force the form
            to regenerate a query.

            Now let's see if your friend Ignatius P. will finish the project for the
            dialog form!
            - Peter

            P.S. For those who weren't at the recent Alpha Five conference,
            Tom was presented with a special plaque for all his services on
            behalf of the users of this support forum. I understand that he's
            taken his law license off of his wall and replaced it with the
            Alpha Five plaque. The cognoscenti know there are lots of lawyers
            in--where is it, Tennessee? Florida? I forget where Tom is--but only
            one recipient of the Alpha Five Developers' Appreciation Award. And no
            one deserved it more than Tom.

            Comment


              #21
              RE: FreshenBrowse Challenge

              Dr. Wayne,

              Thanks for the kind words, I can't wait to show them to Ignatious A. Pickypicky, even though it's likely he'll think you couldn't possibly be talking about me!

              Now, back to my nap!

              -- tom

              Comment


                #22
                RE: FreshenBrowse Challenge

                Still didn't work. Screw it. I'll leave it for the big boys.

                Comment


                  #23
                  RE: FreshenBrowse Challenge

                  Here's a third approach, offered to supplement the ideas already posted by Dr. Wayne and Steve Dentler. It's considerably less elegant, but seems to work ok. Hope it's of use.

                  -- tom cone

                  Comment


                    #24
                    RE: FreshenBrowse Challenge

                    Tom,
                    Ignatius must have been away when you posted the last solution. Your
                    solution works for the first 2 phone numbers in a browse but fails for
                    the 3rd, 4th, etc.
                    The code I submitted works in all cases (I know, I've been using
                    similar code in my office for over a year).
                    An alternative solution to the "add" button would be
                    to add directly in the browse and then edit in the form.
                    If I have time tonight I'll post that one. It's easier to
                    follow than the query manipulations I posted before.
                    Regards to you and Ignatius,
                    Peter

                    Comment


                      #25
                      RE: FreshenBrowse Challenge

                      Thanks, you've given me something I can finally use to get Ignatius's attention. He promises to take a look soon.

                      In the meantime, you might want to check Steve Dentler's suggested approach. It resembles what you describe as an alternate to the query update solution.

                      -- tom

                      Comment


                        #26
                        RE: FreshenBrowse Challenge

                        Dr. Wayne,

                        Ignatius tells me that he has discovered is 'first ever' mistake! Apparently the Save Edits button on the dialog form, Phones2, used an action script which closed that window before saving the record. If the order of the command statements in the Save Edits script is reversed, Pickypicky thinks his brute force approach will work in all cases.

                        -- tom

                        Comment


                          #27
                          RE: FreshenBrowse Challenge

                          Tom,
                          I thought you might enjoy one more approach. Try the popup method.

                          Comment


                            #28
                            RE: FreshenBrowse Challenge

                            Dr. Wayne,

                            Boy, has Pickypicky been grouchy. He sees that his earlier offering (Brute Force Approach) seems to work just fine except with called dialog forms. He's been fuming and stewing and downright tough to live with! Finally, this morning he's come up with a revised brute force approach which he thinks will pass muster.

                            -- tom

                            Comment


                              #29
                              RE: FreshenBrowse Challenge

                              I have no idea who's version i modified, but here is my entry. I paid no attention to preserving the record pointer after adding/editing a record. My main concern was refreshing the browse properly. I made several basic changes, inculding the set relationship (it's still a set, just modified), converted the dialog forms to popup forms and required an entry in the phonetype field for reasons I presume will be self-evident.

                              There are some serious flaws in my design, but since the main objective is browse refreshing, I let most things slide.

                              Tom Lyon

                              Comment


                                #30
                                RE: FreshenBrowse Challenge

                                Hi Guys,
                                I have found that going from the form with the browse on will refresh
                                the browse everytime if you first switch to design modem than back to
                                form view. Is their a way to do this in xbasic?
                                efs

                                Comment

                                Working...
                                X