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

local/temporary table on a network

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

    local/temporary table on a network

    Hi, When you save a table in a folder different than the database folder EX "C:\Private" where does Alpha look for the table
    when you open layout such as a form, on the server or the local machine .
    Thanks
    Nick
    Last edited by Farzadalpa; 02-09-2014, 02:22 PM.

    #2
    Re: local/temporary table on a network

    You don't give enough information to answer the question properly. Is the app running shadowed? Is the form based on the table or on a set containing the table? Was the table added to the data base after being saved in the "remote" location? Was the form created/based on that table in that location? Are you having a particular problem opening the form?

    Generally it's not a good idea to place tables and layouts outside the application folder but there are always exceptional circumstances. For myself, if I had to save a table and its form outside the main application folder, I would only open the form using the syntax Form.View(Formname@FullPathToTable).

    Having said that, as long as the table has been added to the database and the app is not running shadowed, you probably don't need to make any special provisions for opening the form.
    Finian

    Comment


      #3
      Re: local/temporary table on a network

      When you add that table to the database, you create a form as usual pointing it to the table.
      When preparing code you must provide the absolute location of that table.
      If you attempt opening a form on a machine with that table not present you will likely lose the form completely from the db.
      It can work, put checks in place.
      The practice is not advised, tread carefully.

      Comment


        #4
        Re: local/temporary table on a network

        Thanks Finian,
        assuming that the table was added to the data base and the form was created from the added table.
        What happens in each case shadowed and not.
        I am trying to make local temporary tables on local machines.
        Thank,
        Nick

        Comment


          #5
          Re: local/temporary table on a network

          I take back the last sentence in my earlier response. I think I'm allowed to do that ..

          If each user/machine has a table "FormTable.dbf" stored in "C:\Formlocation" of the local machine and it has a form called "RemoteForm" associated with it, then that form can be called from the application regardless of whether or not it's added to the database or shadowed or not, using

          Form.view("RemoteForm@C:\FormLocation\FormTable.dbf"

          It's up to you to keep track of stuff that you put outside of the application folder. It get's increasingly risky to do as your control over the application environment diminishes.
          Finian

          Comment


            #6
            Re: local/temporary table on a network

            Thanks ,I had finished my application on the development machine. It works well.
            I have not used the view(remote-form@path) syntax.
            Do I need to and change all my code dealing with remote-table
            Forms & reports etc.
            I am in apparel business
            , but my education in computer science
            From days COBOL and Dbase . For
            Long time I looked for a specialize application
            To work with our accounting software
            (Peachtree 2010) . Couldn't find any or
            Software like SAP is very expensive (tens of
            Thousands ), so I decided to do it myself .
            It has taken a bout a year to do.
            Thanks
            Nick.

            Comment


              #7
              Re: local/temporary table on a network

              It sounds like a challenging project. If it's working well on your development machine, you need to test the application under conditions similar to how you plan to use it in a live situation. If something doesn't work then you can start figuring out what needs to be changed.
              Finian

              Comment


                #8
                Re: local/temporary table on a network

                Hi Nick
                I suspect that why you want this is for each user who opens the form to be using their own copy of the table/s simultaneously without tripping over other user entries.
                But all using the one interface and updating shared tables. Since it seems that your app is quite far advanced you may not want to do a redesign.
                There is a way to implement such without changing anything in the application itself except for the form load procedure or even A5 startup, that switches the shadow pointer for each user. They all appear to be opening the same table but not. A user can zap the tables without anyone else being affected in any way.
                It takes a little time to learn & set up but in my case save many many more hours of trying to sidestep, and has been working 100% reliably for a year now in quite busy multi-user environments with invoice header and child tables being shadow tables. Of all the things that I thought would cause support issues this one has never needed any attention. You write all sets, forms, reports and code for one table which is just a pointer to the physical tables which dont even need to be added to the database. This is not related in any way to shadow database.
                Take a look at the TABLE.CREATE_SHADOW() command. Selwyn did an article on it in "whats new in v10" and I am surprised that A5 people don't appear to use it.
                Last edited by Ray in Capetown; 02-11-2014, 11:46 AM.

                Comment


                  #9
                  Re: local/temporary table on a network

                  Originally posted by Ray in Capetown View Post
                  Hi Nick
                  ....
                  Take a look at the TABLE.CREATE_SHADOW() command. Selwyn did an article on it in "whats new in v10" and I am surprised that A5 people don't appear to use it.
                  Ray,

                  I find the TABLE.CREATE_SHADOW() method. But in "What's New in V10" but I don't find anything like an article about it. Can you point me to the article?

                  Raymond Lyons
                  Last edited by Raymond Lyons; 02-11-2014, 05:40 PM. Reason: Corrected my statement: "But..."

                  Comment


                    #10
                    Re: local/temporary table on a network

                    Thanks Ray ,Its seams to be a good solution .I will read the article and see if I can implement it.
                    Thanks again,
                    Nick

                    Comment


                      #11
                      Re: local/temporary table on a network

                      Nick/Ray no matter how hard I look I can't find any mention of table.create_shadow() in "What's New in V10". Is it hidden there in plain sight?

                      Ray you've mentioned this technique before and I'm still having a hard time grasping how I could apply the approach to an existing application. The brief explanation of table.create_shadow() in the docs doesn't really help me much. Hasn't it been around since V5?
                      Finian

                      Comment


                        #12
                        Re: local/temporary table on a network

                        I came across the article - just a paragraph or two actually, describing the function and the usefulness of it. Its simply that that drew my attention to the function. it is hardly worth trying to find, in terms of instructional value. It is a description only, similar to what I explained. I will take a quick look for it.

                        Comment


                          #13
                          Re: local/temporary table on a network

                          I corrected my post # 9, i.e., I found the method in the docs but nothing in "What's New in V10". Perhaps it was in an old version of What's New In V10. Or maybe it was in release notes?

                          Comment


                            #14
                            Re: local/temporary table on a network

                            Originally posted by Finian Lennon View Post
                            Nick/Ray no matter how hard I look I can't find any mention of table.create_shadow() in "What's New in V10". Is it hidden there in plain sight?

                            Ray you've mentioned this technique before and I'm still having a hard time grasping how I could apply the approach to an existing application. The brief explanation of table.create_shadow() in the docs doesn't really help me much. Hasn't it been around since V5?
                            Finian, it says v5 but I doubt that's correct. The brief explanation is all there is, it has example code.

                            Finian. Do you have a need to apply it?

                            Heres an example to be able to read and post bank entries from bank statement files that have been and will be later downloaded.
                            Just provide the table name to point the shadow at.
                            First (and once) create the shadow table from one sample table. Thereafter two lines have it point to the whatever real table name.
                            Other users can be working through the same interface and each to different actual tables. Substitute variables for quoted names.
                            Code:
                            tfn = table.filename_get("jimp_bank1") 		' An actual file to be pointed to
                            sfn = "c:\drive_g\ac\com\jimp__post.dbf"	' The shadow.dbf
                            'create a shadow table 'sfn' that points to the physical table 'tfn'
                            table.create_shadow(sfn, tfn,.t.)
                            file_add_to_db(sfn) 
                            
                            'to switch the shadow table/set SFN open up pointing to the local table "jimp_bank1"
                            usefilename="jimp_bank1"
                            lfn = table.filename_get("usefilename")
                            table.create_shadow(sfn, lfn)
                            Perform the switch as part of opening a table or instantiating a form or report, to allow other users switching to different tables.
                            Last edited by Ray in Capetown; 02-11-2014, 06:35 PM.

                            Comment


                              #15
                              Re: local/temporary table on a network

                              Hi Ray:

                              Thanks, but no, I don't have a need right now. I was working on something a few months back where I thought I needed to try a different approach to what I was then doing but, as it turns out, what I did then seems to be working. This is also "deja vue all over again", since we had a very similar discussion back in 2012. After reading that old thread again, I think I can see how I might use the technique in the future.
                              Finian

                              Comment

                              Working...
                              X