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

how do i open a form to the last record

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

    how do i open a form to the last record

    wrong forum ...sorry!

    ed
    Last edited by eeetee; 10-25-2016, 06:19 PM.

    #2
    how do i open a form to the last record

    hello:

    i am attempting to create a new record by entering three fields of data and then opening a form to that record. the data is entering correctly, but i can't quite figure out how the function "form.viewqueried" filter works. right below debug(0) i have been playing with some approaches. the one that is not commented out will indeed select record number 8 and if i change the value to any other number it filters to the correct record. what i need is simply the last record in the table as it is the one i just started.


    thank you in advance!!

    ed



    'debug(1)
    tbl2=table.open ("calls")
    query.filter=""
    query.order=""
    qry2=tbl2.query_create()

    tbl2.enter_begin() 'table is still open from above
    tbl2.cust_id=var->vcustid 'fill in the customer number
    tbl2.calldate=date()
    tbl2.calltime=time()
    tbl2.enter_end(.T.)
    tbl2.close()


    'debug(0)

    filter = "is_recno_in("8")" 'this works but i need the last record

    'filter = between_record(endrec,endrec) 'this does not work




    'Open the layout_type showing just the records that satisfy the filter
    DIM Shared varP_calls as P
    DIM layout_name as c
    layout_name = "calls"
    varP_calls = :Form.viewqueried(layout_name,filter, query.order )

    Comment


      #3
      Re: how do i open a form to the last record

      Originally posted by eeetee View Post
      hello:

      i am attempting to create a new record by entering three fields of data and then opening a form to that record. the data is entering correctly, but i can't quite figure out how the function "form.viewqueried" filter works. right below debug(0) i have been playing with some approaches. the one that is not commented out will indeed select record number 8 and if i change the value to any other number it filters to the correct record. what i need is simply the last record in the table as it is the one i just started.


      thank you in advance!!



      'debug(1)
      tbl2=table.open ("calls")
      query.filter=""
      query.order=""
      qry2=tbl2.query_create()

      tbl2.enter_begin() 'table is still open from above
      tbl2.cust_id=var->vcustid 'fill in the customer number
      tbl2.calldate=date()
      tbl2.calltime=time()
      tbl2.enter_end(.T.)
      tbl2.close()


      'debug(0)

      filter = "is_recno_in("8")" 'this works but i need the last record

      'filter = between_record(endrec,endrec) 'this does not work




      'Open the layout_type showing just the records that satisfy the filter
      DIM Shared varP_calls as P
      DIM layout_name as c
      layout_name = "calls"
      varP_calls = :Form.viewqueried(layout_name,filter, query.order )


      Code:
      	.....
      
      		tbl2.enter_begin()												'table is still open from above
      				tbl2.cust_id=var->vcustid								'fill in the customer number
      				tbl2.calldate=date()
      				tbl2.calltime=time()
      			tbl2.enter_end(.T.)									
      dim vrecno as N
      vrecno=recno("calls")							
      
      	tbl2.close()
      
      
      
      
      dim sptr as P
      
      sptr = form.load("Calls")
      
      sptr.Recno_goto(var->vrecno)
      
      sptr.show()
      Last edited by Al Buchholz; 10-25-2016, 06:32 PM. Reason: I wondered about a question about a desktop form in the web forum....
      Al Buchholz
      Bookwood Systems, LTD
      Weekly QReportBuilder Webinars Thursday 1 pm CST

      Occam's Razor - KISS
      Normalize till it hurts - De-normalize till it works.
      Advice offered and questions asked in the spirit of learning how to fish is better than someone giving you a fish.
      When we triage a problem it is much easier to read sample systems than to read a mind.
      "Make it as simple as possible, but not simpler."
      Albert Einstein

      http://www.iadn.com/images/media/iadn_member.png

      Comment


        #4
        Re: how do i open a form to the last record

        hi al:

        thank you very much! this indeed does open the form, but it only shows as a tab at the bottom. is it possible to get the form to show as well

        it's been a while!

        thanks again!

        ed

        Comment


          #5
          Re: how do i open a form to the last record

          Originally posted by eeetee View Post
          hi al:

          thank you very much! this indeed does open the form, but it only shows as a tab at the bottom. is it possible to get the form to show as well

          it's been a while!

          thanks again!

          ed
          The form is probably behind the control panel. Does the form appear if you click on the tab?

          add this code after the .show()

          sptr.activate()

          or

          sptr.zorder("top")
          Al Buchholz
          Bookwood Systems, LTD
          Weekly QReportBuilder Webinars Thursday 1 pm CST

          Occam's Razor - KISS
          Normalize till it hurts - De-normalize till it works.
          Advice offered and questions asked in the spirit of learning how to fish is better than someone giving you a fish.
          When we triage a problem it is much easier to read sample systems than to read a mind.
          "Make it as simple as possible, but not simpler."
          Albert Einstein

          http://www.iadn.com/images/media/iadn_member.png

          Comment


            #6
            Re: how do i open a form to the last record

            hello again:

            thank you very much! still trying to dust off the cobwebs here


            ed

            Comment


              #7
              Re: how do i open a form to the last record

              Hi Ed,
              I made a global udf to do this:

              Code:
              FUNCTION vw_frm AS L(layoutname as C,idx_tag as C = "",lpos as C = "left",tpos as C = "top")
              'DESCRIPTION: Open form with optional specified index on last record and set position on screen	
              	DIM frm as P
              	frm = obj(layoutname)
              	IF .not. is_object(frm) THEN
              		frm = :form.view(layoutname,"","",lpos,tpos)
              	end if	
              	if idx_tag <> "" then
              		frm.index_set(idx_tag)		
              	end if	
              	frm.activate()
              	frm.fetch_last()
              	vw_frm=.t.
              END FUNCTION
              After you enter your record just add this as the last line to use the default recno() order:

              vw_frm("calls")
              Robin

              Discernment is not needed in things that differ, but in those things that appear to be the same. - Miles Sanford

              Comment


                #8
                Re: how do i open a form to the last record

                Originally posted by MoGrace View Post
                Hi Ed,
                I made a global udf to do this:

                Code:
                FUNCTION vw_frm AS L(layoutname as C,idx_tag as C = "",lpos as C = "left",tpos as C = "top")
                'DESCRIPTION: Open form with optional specified index on last record and set position on screen	
                	DIM frm as P
                	frm = obj(layoutname)
                	IF .not. is_object(frm) THEN
                		frm = :form.view(layoutname,"","",lpos,tpos)
                	end if	
                	if idx_tag <> "" then
                		frm.index_set(idx_tag)		
                	end if	
                	frm.activate()
                	frm.fetch_last()
                	vw_frm=.t.
                END FUNCTION
                After you enter your record just add this as the last line to use the default recno() order:

                vw_frm("calls")
                Robin

                Nice function.

                A minor, but important distinction.

                In a multi-user environment, it is possible that another record is entered and now the last record in the table is from userB rather than you (userA).

                That's why I pointed directly to the record number that was identified from the add rather than pointing at the last record.
                Al Buchholz
                Bookwood Systems, LTD
                Weekly QReportBuilder Webinars Thursday 1 pm CST

                Occam's Razor - KISS
                Normalize till it hurts - De-normalize till it works.
                Advice offered and questions asked in the spirit of learning how to fish is better than someone giving you a fish.
                When we triage a problem it is much easier to read sample systems than to read a mind.
                "Make it as simple as possible, but not simpler."
                Albert Einstein

                http://www.iadn.com/images/media/iadn_member.png

                Comment


                  #9
                  Re: how do i open a form to the last record

                  hi robin:

                  thanks!! I used to be quite involved in a5 back in the 90's so a bit of a re-entry curve.


                  have a great day!

                  ed

                  Comment


                    #10
                    Re: how do i open a form to the last record

                    Good point Al. For my use, I just use the function to open forms. For Ed's purposes, a parameter could be added - and the others changed.

                    Code:
                    FUNCTION vw_frm AS L(layoutname as C,idx_tag as C = "",lpos as C = "",tpos as C = "",rec as n = 0)
                    'DESCRIPTION: Open form with optional specified index on last record and set position on screen	
                    
                    	DIM frm as P
                    	frm = obj(layoutname)
                    
                    	if lpos = "" then
                    		lpos = "left"
                    	end if
                    
                    	if tpos = "" then
                    		tpos = "top"
                    	end if
                    
                    	IF .not. is_object(frm) THEN
                    		frm = :form.view(layoutname,"","",lpos,tpos)
                    	end if	
                    
                    	if idx_tag <> "" then
                    		frm.index_set(idx_tag)		
                    	end if	
                    	frm.activate()
                    
                    	if rec > 0 then
                    		frm.Recno_goto(var->rec)
                    	else
                    		frm.fetch_last()
                    	end if
                    	
                    	vw_frm=.t.
                    END FUNCTION
                    so now the function can be called as:

                    vw_frm("calls","","","",vrecno)

                    of if he wants to reorder the parameters (I can't since it would break a lot of scripts...) just make rec the 3rd one then use it with the default position in record number order:

                    vw_frm("calls","",vrecno)
                    Last edited by MoGrace; 10-26-2016, 03:40 PM.
                    Robin

                    Discernment is not needed in things that differ, but in those things that appear to be the same. - Miles Sanford

                    Comment


                      #11
                      Re: how do i open a form to the last record

                      Originally posted by MoGrace View Post
                      Good point Al. For my use, I just use the function to open forms. For Ed's purposes, a parameter could be added - and the others changed.

                      Code:
                      FUNCTION vw_frm AS L(layoutname as C,idx_tag as C = "",lpos as C = "",tpos as C = "",rec as n = 0)
                      'DESCRIPTION: Open form with optional specified index on last record and set position on screen	
                      
                      	DIM frm as P
                      	frm = obj(layoutname)
                      
                      	if lpos = "" then
                      		lpos = "left"
                      	end if
                      
                      	if tpos = "" then
                      		tpos = "top"
                      	end if
                      
                      	IF .not. is_object(frm) THEN
                      		frm = :form.view(layoutname,"","",lpos,tpos)
                      	end if	
                      
                      	if idx_tag <> "" then
                      		frm.index_set(idx_tag)		
                      	end if	
                      	frm.activate()
                      
                      	if rec > 0 then
                      		frm.Recno_goto(var->rec)
                      	else
                      		frm.fetch_last()
                      	end if
                      	
                      	vw_frm=.t.
                      END FUNCTION
                      so now the function can be called as:

                      vw_frm("calls","","","",vrecno)

                      of if he wants to reorder the parameters (I can't since it would break a lot of scripts...) just make rec the 3rd one then use it with the default position in record number order:

                      vw_frm("calls","",vrecno)
                      Nicely done!
                      Al Buchholz
                      Bookwood Systems, LTD
                      Weekly QReportBuilder Webinars Thursday 1 pm CST

                      Occam's Razor - KISS
                      Normalize till it hurts - De-normalize till it works.
                      Advice offered and questions asked in the spirit of learning how to fish is better than someone giving you a fish.
                      When we triage a problem it is much easier to read sample systems than to read a mind.
                      "Make it as simple as possible, but not simpler."
                      Albert Einstein

                      http://www.iadn.com/images/media/iadn_member.png

                      Comment

                      Working...
                      X