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

Array?

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

    Array?

    I need to store a record from a table temporarily and had the idea that an array would do it, A table is no good as it will be a multi user system.

    I have tried initialize_from_table to populate the array but it appears to be empty ?

    If I did get the data in the array how would I write it back to a different table ?

    Thanks

    #2
    Re: Array?

    Gary:
    Welcome to the board.
    An array is more suitable for an "array" of values.
    With one record, an array seems an overkill, not that there is anything wrong with that.

    A table is no good as it will be a multi user system
    Actually, it's the other way around. An array is a variable, and as of today's primitive technology, a variable cannot be shared over a network, while values from a table can be.

    If I did get the data in the array how would I write it back to a different table ?
    Sounds like your whole objective is to copy a record from one table to another. There has been as many questions related to this subject as there is selicon in Pamela Anderson and just as many ways to do it. My all time preference is using xbasic to take the values directly from the source table to the target table. How do you do that depends on where you do it from, so if you offer a little more details, the answer could be more specific.

    Comment


      #3
      Re: Array?

      Gary, let us know if an example would help you? Even better, consider posting a zipped copy of your database here so we can work on it with you. You can attach zip files using the Go Advanced button in the message editor, followed by the Manage Attachments button.

      It's not necessary to store field values in an array or even in a variable in order to write them from one table to another so let us know if that why you're trying to store them temporarily before writing them again.

      -- tom

      ps. Welcome to the message board.

      Comment


        #4
        Re: Array?

        Thank you for your replies

        I am happy copying record from one table to another but I need to keep a copy of a record in case it is changed If it is changed then write the original to another table, if not then discard

        If I do this via a table then if two users happen to do the update at the same time which record is which.

        I thought an array would do as it would store the data local to each user?

        Comment


          #5
          Re: Array?

          Now that more peices of the puzzle are forth coming, it starts to make more sense.

          You can store the record values in an array, in a variable as a string, in a number of variables, in a temp table or by some other means. Or you could also take advantage of alpha's built in function:
          ALLTEXT_INITIAL()

          Comment


            #6
            Re: Array?

            Originally posted by G Gabriel View Post
            Now that more peices of the puzzle are forth coming, it starts to make more sense.

            You can store the record values in an array, in a variable as a string, in a number of variables, in a temp table or by some other means. Or you could also take advantage of alpha's built in function:
            ALLTEXT_INITIAL()
            I get ALLTEXT_INITIAL() but how do I then write that back to a table when required

            Comment


              #7
              Re: Array?

              Originally posted by Springfield View Post
              I get ALLTEXT_INITIAL() but how do I then write that back to a table when required
              Hmmm..
              Foreget about all of the above.

              1-Before you make changes to the current record, duplicate it
              2-Make your changes
              3-If not happy with the changes, delete them, you still have your original duplicate
              4-If you are happy with the changes, delete the old record.

              Comment


                #8
                Re: Array?

                If something that is to be done before someone is to leave the form in question I would think that table.record_data_get() and table.record_data_set() would work very easily...and don't think it would be affected with multi-users as it is a variable.
                Mike
                __________________________________________
                It is only when we forget all our learning that we begin to know.
                It's not what you look at that matters, it's what you see.
                Henry David Thoreau
                __________________________________________



                Comment


                  #9
                  Re: Array?

                  Thanks chaps

                  table.record_data_get() and table.record_data_set() should do it.

                  Comment


                    #10
                    Re: Array?

                    Gary, in Ch 42 of Dr. Wayne's book "Xbasic for Everyone - Vers 8" he furnishes the code to create an audit trail for changes, deletions, and new records in a checkbook application. He uses a separate variable for each field in the record and does not use an array. His approach could be adapted easily to use a pointer variable, with each table field value occupying a separate property, but I see little to be gained by doing so. -- tom

                    Comment


                      #11
                      Re: Array?

                      Gary,

                      I should add that it seems that table.record_data_get() and ..._set() cannot be used on the OnInit of a form. If your form is modal then simply get it with the OnActivate and set whenever....when exiting, using a "Cancel" button, etc.... . If a user can go to a different form or anywhere that will cause the OnActivate to fire again then make the OnActivate a one-time event with a logical variable. So could have the default set to be .T. . When the form is first opened, use table.record_data_get() and set the variable to .F. . Wherever you would use table.record_data_set() or when closing the form, change the variable back to .T. .

                      Just thought I should add to avoid any pitfalls.
                      Mike
                      __________________________________________
                      It is only when we forget all our learning that we begin to know.
                      It's not what you look at that matters, it's what you see.
                      Henry David Thoreau
                      __________________________________________



                      Comment


                        #12
                        Re: Array?

                        You could do something like this:
                        In a button (call it "Edit Record") on the form of the original table, put this script:
                        Code:
                        t=table.current()
                        x = tbl.record_data_get()
                        if alltext_initial<>alltext
                        t1=table.open("..target_table..")
                        t1.enter_begin()
                        t1.record_data_set(x)
                        t1.enter_end(.T.)
                        t1.close()
                        end if
                        Last edited by G Gabriel; 06-30-2008, 10:42 AM.

                        Comment

                        Working...
                        X