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

Record Marking & Multi-User considerations...

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

    Record Marking & Multi-User considerations...

    I can't test this locally (with 2 forms open) because of how "focus" on the forms effects browse/control refreshing...

    Given the limitations of not having any support for transactional processing.....
    To avoid the unlikely possibility of 2 users trying to simultaneously update a record (which in turn requires the update of 2 other related tables), I'm considering using the dbf's "selected field" (by marking/un-marking records.) I've noticed that this field seems to update on both forms without moving off a record within a browse. (on the same PC at least)

    Question is: When a record is marked by one user, does the status of this immediately appear on the other user's browse on an open (focused) form?
    (I can't tell/test this myself because when the second form doesn't have focus, updates don't display until I switch to the other form.)

    I suppose it doesn't really matter, because that's just the display, and this data/information (displayed or otherwise) is in the dbf file itself? (If so, using "this.Is_Marked()" will return "current status" regardless of what is displayed/refreshed on the visible form/browse.) ~ The related question is, within a browse (on a form), exactly how/when is this "marked data field" referenced/updated? Is it "cached?" (Or is the actual status checked the instant a user tries to set the record to marked?)

    Also, if a project were to ever be converted to a flavor of MariaDB (the mySQL variant): Is using this method ("marking" the dbf's "selected field") even a good idea in the first place?
    Or should I add another field to the table and have the browse "commit" the value of the line item (via a browse button "event event") back to the table immediately when it is selected?
    (Here again, the same question/problem arises. If there is any browse "data caching" going on, I'll have to have a browse button "event event" process the selection and query the data from the underlying table.)

    The thing is: I do not want the second user to be able to successfully mark a record that is presently marked by another user.
    My initial idea is to use "this.Is_Marked()" when double clicking the browse record (to check status) immediately before applying "this.mark_Record()."
    (And un-mark each users marked records once all operations are performed for that user.)

    Note: DBF's in use here, Referential integrity NOT used.

    PS: Part of my "confusion" here is I am under the assumption that with the exception of the "marked/unmarked" status, actual table writes (within an embedded browse field on a form) are TYPICALLY (without code) written to the the table when the the row changes/looses focus. And similarly, the browse data is TYPICALLY (without code) populated when the form opens/moves to another record etc? ~ Hope that makes sense.
    Last edited by SNusa; 02-05-2015, 12:36 PM.
    Robert T. ~ "I enjoy manipulating data... just not my data."
    It's all about the "framework." (I suppose an "a5-induced" hard drive crash is now in order?)
    RELOADED: My current posting activity here merely represents a "Momentary Lapse Of Reason."

    #2
    Re: Record Marking & Multi-User considerations...

    Nobody has an answer to this?

    I'm considering using the dbf's "selected field" (by "marking/un-marking" records. ~ And testing for the status (this.Is_Marked()) on the form/browse double-click event, which is also performing the marking/un-marking action. (So that two different users cannot even try to update a record at the same time.)

    Question is: When a record is marked by one user, does the status of this immediately appear on the other user's browse on an open (focused) form?
    (I can't tell/test this myself because when the second form doesn't have focus, updates don't display until I switch to the other form.)
    Robert T. ~ "I enjoy manipulating data... just not my data."
    It's all about the "framework." (I suppose an "a5-induced" hard drive crash is now in order?)
    RELOADED: My current posting activity here merely represents a "Momentary Lapse Of Reason."

    Comment


      #3
      Re: Record Marking & Multi-User considerations...

      Robert,

      Marking records is across all users. I don't think it can work for just one or a group. I have not used marking since I went away from single users.

      I insert a field(usually logical) in a table and mark the field according to need. This is usually so that field is included in a report and clear the field after the report or other is done.
      Dave Mason
      [email protected]
      Skype is dave.mason46

      Comment


        #4
        Re: Record Marking & Multi-User considerations...

        Hi Dave;

        Across all users is a good thing. That's how I'm trying to use it. (To prohibit a second user from trying even trying to select the same record.)

        I've got a neat little form for selecting multiple items for "batch processing." As the user double clicks on an item, it adds it to an enumerated list.
        If the user submits the form, this enumerated lists processes two other child tables as well as the records in this table. (Child tables are processed via a call to a global function which receives this enumerated list (character variable) as one of the parameters.

        What I want to do is ensure that no two users on a multi-user system could possibly generate their respective enumerated lists with any items (from the same table) in common.
        Also, I suspect that "marking records" in this context is an Alpha/.dbf thing only, right?

        Assuming this to be true:
        The only other way (of doing the same thing compatible with a SQL backend) that I can think of is to use a "check-out, check-in" method. (And using an extra field for temporarily storing the current user's ID in the table. ~ And then clearing this value once the records [parent records] are all processed.) Note: Once the parent records are processed, they will never re-appear in this list for selection again. (This assignment, once committed is a "one shot deal.")

        Does the logic above make sense to you? (adding the extra field)
        Last edited by SNusa; 02-06-2015, 02:21 PM.
        Robert T. ~ "I enjoy manipulating data... just not my data."
        It's all about the "framework." (I suppose an "a5-induced" hard drive crash is now in order?)
        RELOADED: My current posting activity here merely represents a "Momentary Lapse Of Reason."

        Comment

        Working...
        X