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

Complex GoTo Browse Record

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

    Complex GoTo Browse Record

    I have a form with 3 browses. One browse has a table recordsource consisting of 3 fields, RecID, PathName, ParseName. These are all pieces of sheet music on the users computer.

    Another browse has a list of gigs (shows), and the 3rd browse contains the sets for each gig. See attached.

    Users add pieces of sheet music from the browse on the left to the browse on the right by clicking the "+" or double clicking the name. This adds the piece, and the id of the gig, to the browse on the right. This works fine, however, i want the piece to remain highlighted in the browse on the right after adding it. This works sometimes, and i think it is due to only using the file id from the browse on the left and not including the gig id from the browse at the top. Since the browse on the right can contain thousands of records with many duplicate pieces of sheet music, but all belonging to different gigs, i think the problem lies with it utilizing an id not currently showing in the browse on the right. Any ideas how to use 2 criteria to create a record pointer?

    Other Info: This form is built on a set with 3 tables, Gig (with all gig or shows), Charts (this is the complete sheet music library obtained by reading from a directory), and GigCharts (this is the table containing the sheet musi for each gig/show) To make this work, the Gig table and the GigCharts table is linked by the GigID. But to make the library table work, i created a common field in the Gig table and the Charts table. These 2 tables have a default id of "X" so all the charts library will show for every gig (Cartesian product).

    Any help will be greatly appreciated.
    Attached Files
    J.R.
    Epigate Software, LLC.

    [email protected]
    http://www.epigate.com
    sigpic

    #2
    Re: Complex GoTo Browse Record

    JR,
    you are contradicting yourself. first you say: "3 browses. One browse has a table recordsource". Then you say: This form is built on a set with 3 tables, Gig (with all gig or shows), Charts (this is the complete sheet music library obtained by reading from a directory), and GigCharts.

    "Since the browse on the right can contain thousands of records" Browses don't contain records, tables contain records. Which table is that Browse viewing?

    It would be most helpful if you provide the set structure that tells what the parent is and what the children are, with link (1:1 or 1:M or as you did with describing all-to-all) or show screenshot of the set, and then identify the browses by the table they are viewing. Also, I would need to know what is happening when you press the "+".... ? copying a record from one table to another? Querying the second table based upon the record in the browse selected?? What?
    Mike W
    __________________________
    "I rebel in at least small things to express to the world that I have not completely surrendered"

    Comment


      #3
      Re: Complex GoTo Browse Record

      I didn't intend to be contradictory, but i guess i do not understand the Alpha terminology yet.
      Are tables no longer refered to as tables when they are contained in a set? And since you can view records in a browse, I mistakenly stated that it contained records. A query or an sql view is referred to as containing records, even though those records are in a table. I come from an Access / .NET so I am still in that mindset. I still have the learning curve to overcome, but I'll get there.

      The "Other info" at the bottom was meant just to give some additional info on the structure, but that is probably what made it even more confusing.

      Here are some more shots showing the structure and tables.
      The form is created from a set consisting of 3 tables. All 3 browses have a recordsource of one of those tables (3 browses/3 tables). The gig table and the gigcharts table are linked by the gig_id in the gig table. The gig and the charts tables are linked with the many to many with fields with a default value of "X".

      Pressing the "+", or double clicking the file name in the browse on the left, creates a record in the gig_charts table with the chart name, chart id from the browse on the left, and the gig id (this is obtained from the gig browse in the upper right).

      browse on left - charts table
      browse on right - gigcharts table
      browse upper right - gig table
      Attached Files
      J.R.
      Epigate Software, LLC.

      [email protected]
      http://www.epigate.com
      sigpic

      Comment


        #4
        Re: Complex GoTo Browse Record

        Well,
        The only way I know how to achieve this WITH an alpha sort for the chart_name on the gig_charts table is with a loop that steps through the records in the browse for the gigs table testing for the gig recno and then the same for the browse for the gig_charts table, testing for the chart_id, until it finds the record to end up on. See example attached. Having a base order on the form does not work, seen by the gig_charts browse not refreshing when a chart_name that is before the first listed is chosen. So I placed the sort expression in the function that copies the record. This strategy of stepping through the records and testing them may overall not work for you because if you have many many records per each gig, or many, many gigs, it might be too slow.
        Attached Files
        Last edited by Mike Wilson; 07-19-2011, 12:18 AM.
        Mike W
        __________________________
        "I rebel in at least small things to express to the world that I have not completely surrendered"

        Comment


          #5
          Re: Complex GoTo Browse Record

          Thanks Mike, I have an idea but tell me if it is the wrong way to go.

          if i create a field in the gig_charts table and concatenate the file_id and the Gig_id fields into this new field, that will give me a unique id to point to (file_id from the browse on the left and the Gig_id from the browse at the top). When the new record is added by double clicking or the "+" button, it can use the concatenated field to find, and highlight, the new record.

          Usually there are anywhere between 20 - 70 numbers per gig, 70 being a very long gig reserved for special shows. If i do it the way i described above, i am concerned about the speed as the tables get larger.
          J.R.
          Epigate Software, LLC.

          [email protected]
          http://www.epigate.com
          sigpic

          Comment


            #6
            Re: Complex GoTo Browse Record

            it can use the concatenated field to find, and highlight, the new record.
            Great thought. When you find out how to get to a child record with a find by (indexed) technique, please let me know, because I don't know how this is accomplished. You can use things like topparent.recno_goto() all day long, but that only works for the parent table record, not at the child table record.
            Mike W
            __________________________
            "I rebel in at least small things to express to the world that I have not completely surrendered"

            Comment


              #7
              Re: Complex GoTo Browse Record

              Thanks Mike, I will keep you posted of my progress, or lack thereof. You did a good job of throwing that gig app together in that short period of time. It took me a lot longer to get that much done, but I am learning,....I am learning.

              I am going to try the concat field idea, worse I can do is fail, and that is nothing new for me. - J.R.
              J.R.
              Epigate Software, LLC.

              [email protected]
              http://www.epigate.com
              sigpic

              Comment


                #8
                Re: Complex GoTo Browse Record

                I think you might rethink your set structure to acconplish your goal. If you make gig_charts the parent, you can achieve what you are seeking. See attached. The form it will open to is based upon a set with the gig_charts table as parent. This allows you to use the topparent.recno_goto() function to focus on the newly added record. Some other obstacles needed figuring out but it seems to be working as you desired. i threw in a couple progressive lookups in case you might like to use those.
                Attached Files
                Mike W
                __________________________
                "I rebel in at least small things to express to the world that I have not completely surrendered"

                Comment


                  #9
                  Re: Complex GoTo Browse Record

                  Standard, Eb drop D? Sounds like someone is a musician.

                  This is pefect, thank you Mike, with just a quick look I think this is exactly what I was wanting to do. When I first started, I thought I tried different structure to see which one would work best, and I missed this combination all together.

                  I really appreciate all the time you put in to this helping me with this. - J.R.
                  J.R.
                  Epigate Software, LLC.

                  [email protected]
                  http://www.epigate.com
                  sigpic

                  Comment


                    #10
                    Re: Complex GoTo Browse Record

                    Mike, this worked out great and just how i wanted it to.
                    Thank you. Just one more question about it. How can i get the browse on the left to remain on the current row after clicking the add button? It wants to go back to the first row, and if you are going down and adding records, you have to start all over again. I searched the forum but since this is a child browse, i could not find a solution that worked. Thanks.
                    J.R.
                    Epigate Software, LLC.

                    [email protected]
                    http://www.epigate.com
                    sigpic

                    Comment

                    Working...
                    X