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

Setting Default Form to Open

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

    #16
    Re: Setting Default Form to Open

    In addition to Stan's good advice, many of us use a "dummy" table that contains only a single record, with a single field, the contents of which mean nothing. Our "menu" forms can be supported by the "dummy" table without opening any actual data tables, if you see what I mean.

    Comment


      #17
      Re: Setting Default Form to Open

      Originally posted by Garth Groft View Post
      thanks stan.

      this is all very important to learn about. i did not realize you had to have a table to have a form. i like apps that open to a menus like those found on many mobile device apps.

      yes, i thought the index's unique property would prevent duplicate entries. i was aware of the key_unique() function existed but i read a thread somewhere about having to create an SQL query for validation for uniqueness.
      Hi Garth

      Coming from a "screen based" system to Alpha's "table based form" will take only a brief moment to adjust. Read again Stan's post #13
      You can do that - at first, at least 'til you maybe discover how to make this underlying table useful.

      Having a homescreen/menu combination is one traditional methodology. Many users are comfortable with a Home page to get back to once everything processed has been saved and screens closed. This form can contain at least your first level menu options to the systems included. In your case one would clearly be customers, with a form that provides further options related to Customers, and filtering to the user.

      Alpha is however virtually unrestricted with options and methods. New approaches are being created and discussed here every day that can change and improve the users' relationship to their needs.

      You can let your imagination run free and learn not if but how you can do things. The first step you have done a number of times - that is to ask here.
      It's an imaginarium.

      Comment


        #18
        Re: Setting Default Form to Open

        Well Tom answered during the time I was composing. And that's the idea.

        Comment


          #19
          Re: Setting Default Form to Open

          Ok, I am confused about what his real issue was because none of the responses seem to address what I thought he was talking about.

          He said,

          Stan, I saved my default form (Warranty_Reg) as a new form (Warranty_Reg2) and added additional fields to the form. I want Alpha to open this workspace to my new form. Sounds like I must save the original form as Warranty_Reg_0 and then save Warranty_Reg2 as Warranty_Reg. Is this the way it need top be done. I was instructed to create a new form and leave the original form unchanged.
          Which leads me to believe he saved a copy of his existing Warranty_Reg form as Warranty_Reg2 then probably made some changes on the Warranty_Reg2 form. If this was the case then there is no need to create a dummy table as the form is already based on the same table/set the original form was based on.

          I am also guessing that he meant "Start up Form" instead of "Default Form". If this is the case then there are several ways to have Alpha start up with different start up forms.

          You can use a Main Menu form that allows you to select which version of the Warranty_Reg form to open up.
          You can use xbasic to open a specific version of the form based on who is logging in, what access level they have, what license level of your app they purchased or any other thing you want to look at and make the decision on which form to open on start up.

          All my apps use xbasic to control which form opens. Some are user preference options like a low resolution version of a form or a high resolution version of a form. Others are based on license level and other are based on logged in user group.

          I never use the start up form setting in the Workspace Properties.

          Anyway. I may be off base but that is what I read out of his question.

          Comment


            #20
            Re: Setting Default Form to Open

            Thanks Preston,

            I was curious about this. A Visual FoxPro app requires that one program or a form be "Set as Main". So the ability for Alpha to start up the app from a program is important since the app's start up form could be a menu which could vary in content depending on the logged in user or another consideration.

            Where in my Alpha app do I put this start up xbasic code?

            I have not looked into form level xbasic code that would control its content based on the logged in user or another consideration.

            Garth
            Garth Groft
            Director & Software Architect
            MicroComputer Task Group

            Comment


              #21
              Re: Setting Default Form to Open

              If you create a script and save it with the name autoexec it will run when the database is opened.
              There can be only one.

              Comment


                #22
                Re: Setting Default Form to Open

                Tom, Stan and others have said this in several ways. Here is another way.

                Most, not all will duplicate a form to something like form1 and then go to form to make modifications with the safety of not losing their "backup" named form1. This will not usually break other that may be relying on form being there.

                Thought this might help.
                startaform.png

                You can start the form in a script under the code tab named autoexec if you prefer. You have to create the script. It is not placed there arbitrarily.
                Dave Mason
                [email protected]
                Skype is dave.mason46

                Comment


                  #23
                  Re: Setting Default Form to Open

                  As Stan said, you can put the xbasic in the autoexec script. Alternately you can create a script that has the start up form code in it and then call that script from the autoexec script.

                  Here is a part of some code I use in one of my apps. There is a lot more to it but this should give you an idea.
                  Code:
                  'version_type = 1 'Uncomment for testing only
                  if version_type = 3 then
                  	goto PRO
                  	end if
                  	
                  if version_type = 2 then
                  	goto ADVANCED
                  	end if	
                  
                  STANDARD:  'version_type = 1
                  
                  form.view(vc_startformdo,"","","","","")
                  a5.window_title = "Quick Quote 4.0 Standard"
                  a5.icon = A5.Get_Master_Path() + "\QQ40.ico"
                  a5.splash = A5.Get_Master_Path() + "\QQ40-Logo.png"
                  'Hide the Control Panel.
                  :controlpanel.hide()
                  
                  end
                  
                  ADVANCED:  'version_type = 2
                  
                  form.view(vc_startformdo,"","","","","")
                  a5.window_title = "Quick Quote 4.0 Advanced"
                  a5.icon = A5.Get_Master_Path() + "\QQ40.ico"
                  a5.splash = A5.Get_Master_Path() + "\QQ40-Logo.png"
                  'Hide the Control Panel.
                  :controlpanel.hide()
                  
                  end
                  
                  PRO:  'version_type = 3
                  
                  form.view(vc_startformdo,"","","","","")
                  a5.window_title = "Quick Quote 4.0 Pro"
                  a5.icon = A5.Get_Master_Path() + "\QQ40.ico"
                  a5.splash = A5.Get_Master_Path() + "\QQ40-Logo.png"
                  'Hide the Control Panel.
                  :controlpanel.hide()
                  
                  end
                  
                  
                  TRIAL: 'version_type = 3 and User Count = 0 - Trial Mode.
                  
                  form.view(vc_startformdo,"","","","","")
                  a5.window_title = "Quick Quote 4.0 Trial"
                  a5.icon = A5.Get_Master_Path() + "\QQ40.ico"
                  a5.splash = A5.Get_Master_Path() + "\QQ40-Logo.png"
                  'Hide the Control Panel.
                  :controlpanel.hide()
                  
                  end
                  The above would result in something like this.


                  If you want to have a Main Menu form and have it show different options based on the user you can do that with conditional objects instead of using something like I showed above. Just capture the user info, group or level into variables in the autoexec script and then set the conditional objects on the menu form to show what you want for that user.

                  Comment

                  Working...
                  X