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

Can't print

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

    Can't print

    I have a set that was derived from a single table linked to itself in a one-to-one last. This is done in order to select the last entry in the table to print a receipt. The report uses the fields from table_1, the set is table to table_1. All is okay until I try to print the report, at this time it seems process too many records and finally says "it can't process the report because it is used in another process". I assure you that nothing else is open at the time.

    Thank you for any help you may have,
    Ed

    #2
    RE: Can't print

    The report is in use because the table is in use twice. Don't know why this would cause the problem but I think that's where the problem lies.

    "in order to select the last entry in the table"

    filter the detail on

    recno("table in quotes") = dbcount("table in quotes","","any field name in quotes")

    at least I hope the "" in the middle of the dbcount() expression would cause Alpha to use record number order. If it doesn't you could substitute any valid index tag name.

    I'll experiment with this.
    There can be only one.

    Comment


      #3
      RE: Can't print

      Meant to include:

      Base your report on just the table in question and filter as suggested.
      There can be only one.

      Comment


        #4
        RE: Can't print

        Ignore the other two posts, I was having a lapse.

        set your report on one instance of your table. Filter the detail on recno("your table name in quotes") = reccount("your table name in quotes") .

        This will return the last record in the table, according to record number.
        There can be only one.

        Comment


          #5
          RE: Can't print

          Wow, that is simple, I can't wait to try it now.
          Thanks a bunch, Stan.

          Ed

          Comment


            #6
            RE: Can't print

            As I read your filter Stan, it looks like it will print only the last record entered. I need it to print the last dues entry for each member. I tried it and that is exactly what it does.

            Comment


              #7
              RE: Can't print

              How is the 'last' dues payment record defined? The most recent payment date? This may not be the same record as the last 'physical' record added to the table.

              Consider someone entering two payment records for the same member. They enter the payment for the year 2000 first, then they enter the payment for the year 1999 next (Cause they forgot to do it in the right order!). Which one is the 'last' payment record you want to print?

              -- tom

              Comment


                #8
                RE: Can't print

                The payments are added each month for each of the 800 members. The pertinent field to determine if the receipt is printed is the date that the payment is received, that field is "datepaid", it is a character field for special purposes other than a date field like we would assume. The batch of receipts I think is printed in the same month that the payments are received (I have to check that out to be sure). If that is the case, the following filter will do the job. month(ctod(datepaid))=month(date()) Ordering is:
                "dept_num+lastname+firsnam+midinit. The payments are usually entered on the 17th of the month for the previous month. About 15 dues payments are made each month by walk-ins, I have a separate report for them which is doing fine. I'll let you know if my assumption is wrong.

                Thank you for everything,
                ED

                Comment


                  #9
                  RE: Can't print

                  Ed, *now* I'm really confused. (In part cause I haven't had my morning coffee yet!).

                  Your original post in this thread indicated you wanted to print the *last* dues payment record for each member. Presumably this would include payments made earlier than the current month, right? If someone stopped paying two months ago, their last payment would be in June, not August... see what I mean?

                  *Or*

                  Are you trying to print the dues payments made during a particular month? (This is what the filter you last described suggests...)

                  Understanding your question is the key to finding the solution. Can you clarify this any further?

                  -- tom

                  Comment


                    #10
                    RE: Can't print

                    Hi Tom,

                    Have your coffee first and we'll delve a little deeper.
                    Good thinking there, there are some people that pay in advance, case in point, one member pays 6 months at a
                    time. However, in the month that he or she paid for six
                    months in advance it would print a receipt for that
                    payment. It is no longer necessary to continue printing receipts for those payments for months that are paid in advance. Stragglers do show up after the batch printing
                    but I have another choice in the print menu that allows
                    selective printing of a single receipt.

                    I want to thank you Tom for taking such a great interest n
                    in my problem, the world needs more people like you.

                    ED

                    Comment


                      #11
                      RE: Can't print

                      I missed the last part of your message. The answer is
                      yes, I need to print the receipts in the same month that
                      the payment was received.

                      Thanks again,
                      ED

                      Comment


                        #12
                        RE: Can't print

                        Ok, the problem is in plain sight.

                        Seems to me the simple solution would be to use the single table, not the set mentioned at the top of this thread.

                        Base your report on this one table.

                        Include in the properties of the report itself a filter expression limiting output to payments made in the current month.

                        month(ctod(datepaid))=month(date())

                        Set the order expression to the one you listed a few messages back...

                        If you need to use this report layout for other purposes you can copy it, and the paste it back in, giving it a different name. Then you can alter the filter expression to suit other requirements.

                        -- tom

                        Comment


                          #13
                          RE: Can't print

                          We have needed to pull up the last entry for a large number of records in various orderings using different indexes in a lot of tables and have successfully used the following.

                          If you change the date portion of the index to
                          STR(99999999 - VAL (DTOS(DatePaid)))
                          you'll pull up the last entry by DatePaid.

                          If, for example, your need is to get the last DatePaid entry for a "MemberNbr" (char var) , try using an index like

                          MemberNbr + STR(99999999 - VAL (DTOS(DatePaid)))

                          Then do a find for MemberNbr and the record will be the last DatePaid entry.

                          Then to print only the record displayed you can use

                          TblPtr = table.current(1)
                          RecToPrt = TblPtr = table.current(1) ' where the number is the "slot" number in the set for your table
                          TblPtr.recno()
                          report.print("My Report", "between(recno(), RecToPrt, RecToPrt)")

                          Comment


                            #14
                            RE: Can't print

                            Thanks guys for a good job well done. Oops, on to the
                            next one.

                            Thanks again,
                            ED

                            Comment

                            Working...
                            X