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

Active Link

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

  • Active Link

    I'm trying to get my head around how Active Link works and am having a few difficulties, with the concept and how it's supposed to work.
    I have connected to an MSSQL Server database which has brought all my tables in as Active Link tables, all DBF tables with a single record in them which I presume is correct. Using the default form, when I scroll through the records any changes to the data from an external source (eg the main accounting app) which have occurred since the form was loaded aren't reflected in the form unless I hit F5 on the record which has been modified. If I exit the Alpha form and reload it the data is displayed correctly, including any changes made up to the time of loading the form. Any changes I make to the data are written immediately so it seems to be a reading issue. My guess is that Alpha is querying the data out so it's coming from memory, rather than retrieving the record from disk each time. Is that correct?; if so how can I ensure that the detail displayed on my form is current? If not, what am I doing wrong?

    David

  • #2
    Re: Active Link

    Originally posted by DJE1 View Post
    I'm trying to get my head around how Active Link works and am having a few difficulties, with the concept and how it's supposed to work.
    I have connected to an MSSQL Server database which has brought all my tables in as Active Link tables, all DBF tables with a single record in them which I presume is correct. Using the default form, when I scroll through the records any changes to the data from an external source (eg the main accounting app) which have occurred since the form was loaded aren't reflected in the form unless I hit F5 on the record which has been modified. If I exit the Alpha form and reload it the data is displayed correctly, including any changes made up to the time of loading the form. Any changes I make to the data are written immediately so it seems to be a reading issue. My guess is that Alpha is querying the data out so it's coming from memory, rather than retrieving the record from disk each time. Is that correct?; if so how can I ensure that the detail displayed on my form is current? If not, what am I doing wrong?

    David
    you are not doing anything wrong.

    when you open an activelink table, a5 queries the backend database and reads the first x records (x is by default set to 50, but you can control the blocksize in the activelink table definition).

    then when you scroll through the records and you get to the end of the first block, a5 goes back to the server and gets the next block of records. this typically happens so fast, that you never notice it happening.

    lets say that you have fetched the first block of records and then some other user updates one of the records that you are currently looking at.

    the data on your screen will NOT automatically update to reflect the changes made by that user (for obvious reasons - it would place a load on the database server and your application would never be able to scale up).

    if you press F5, the current record is refreshed, and if you press Shift+F5 all records are refreshed.

    however, say you don't press F5, but then start editing a record. as soon as you put the record into change mode, the record is immediately refreshed so that you can be sure you are editing the up to date record.

    the way in which a5's active link tables is pretty much how all vendors would design a client/server application.

    Comment


    • #3
      Re: Active Link

      Thanks Selwyn, that all makes sense; I hadn't tried modifying a 'changed' record to see what happened.
      Given that's how it works, is there then a way that we can programmatically refresh the block of records (on a timer for example, ideally based on when that block was read). I'm thinking of the situation where an operator opens the form, looks at a record or 2 and then the phone rings. 5 minutes later they return to the form (or the browse because I imagine the logic is identical) to continue checking records.

      David

      Comment


      • #4
        Re: Active Link

        Originally posted by DJE1 View Post
        Thanks Selwyn, that all makes sense; I hadn't tried modifying a 'changed' record to see what happened.
        Given that's how it works, is there then a way that we can programmatically refresh the block of records (on a timer for example, ideally based on when that block was read). I'm thinking of the situation where an operator opens the form, looks at a record or 2 and then the phone rings. 5 minutes later they return to the form (or the browse because I imagine the logic is identical) to continue checking records.

        David

        just put a timer on the form (form properties dialog - 'form' tab).

        then in the onTimer event, put this code:


        Code:
        topparent.ServerSideRefreshAll()

        Comment


        • #5
          Re: Active Link

          Another way to do it would be to have a form based on a read only active link table, where you display a list of items (in a browse for example) and have a search box that filters the contents of that browse. Then when you double-click on an item, open a form that is based on an active link table and ONLY retrieves the item in question. That way when you open it it is up to date, and you don't block other users' access to the items you are viewing*.

          *One downside to SQL Server is that some versions lock records even they are just being viewed, until you move to the next item, which can cause problems.

          Comment


          • #6
            Re: Active Link

            Mr. Rabins ServerSideRefreshAll () will get all the data from a table on the server. And what to do if there is a some filter in form properties. ServerSideRefreshAll () will ignore that filter on the form and display all data from the table. So my question - is there any way to refresh data on a form which has in the properties defined filter.
            Dragan Milosavljevic
            ITPartner

            [email protected]
            http://www.itpartner.rs

            Comment


            • #7
              Re: Active Link

              Originally posted by draganksg View Post
              Mr. Rabins ServerSideRefreshAll () will get all the data from a table on the server. And what to do if there is a some filter in form properties. ServerSideRefreshAll () will ignore that filter on the form and display all data from the table. So my question - is there any way to refresh data on a form which has in the properties defined filter.
              this video shows that the <form>.serverSideRefreshAll() method does not remove the existing filter on the form.

              http://screencast.com/t/UhYYMMgjcZ

              Comment


              • #8
                Re: Active Link

                Hi, i's me again and my problem with refreshing link form.

                Obviously I was not clear enough in the previous post. My problem is refreshing the form after entered a new record.The form has declared filter expression in form properties. And it's been ignored when the function serverSideRefreshAll() is been called.The form is based on a set of linked tables. And on link below there is the video that I hope will present a little better my problem.

                http://www.screencast.com/t/E93rVuM2i
                Dragan Milosavljevic
                ITPartner

                [email protected]
                http://www.itpartner.rs

                Comment


                • #9
                  Re: Active Link

                  Try the Filter on the Browse instead of the Form.
                  See our Hybrid Option here;
                  https://hybridapps.example-software.com/


                  There are 3 things you can do in any situation;
                  Live with it, Change it or Walk away from it.

                  Comment


                  • #10
                    Re: Active Link

                    I still can't repeat any problem after entering new records.

                    I will be happy to take another look at the issue if you build a test case that I can run on my machine.
                    Here is what I recommend.
                    1. copy alphasports.mdb from the mdbfiles folder in the a5 executable folder to some writable directory
                    2. build active link tables on alphasports.mdb
                    3. build a form that replicates the issue
                    4. send me the app with instructions on how to duplicate the problem.

                    Comment

                    Working...
                    X