Is it possible to get Exact Forms to print more than 1000 records at a time?

  • 0
  • 1
  • Question
  • Updated 3 years ago
  • Answered

Hello! I have some very nice Exact Forms set up in my app and they look very nice! The only problem I have with them is that I can only get them to print 1000 records at a time. After that they get cut off. I know you're probably wondering who could possibly need to print more than 1000 records at once. I do, unfortunately!

I'm wondering if there's any way to force more records to appear down there, or if it's simply beyond QuickBase's capabilities.

Thank you!

Photo of Shaun Grey

Shaun Grey

  • 0 Points

Posted 3 years ago

  • 0
  • 1
Photo of Jack

Jack, Champion

  • 50 Points
Hi,

Firstly always make a copy of your current exact form before making changes to it so if everything goes wrong you can revert back to it.


You should be able to use the skp and num function to over come this (although I've not had the need to exceed 1,000 records so cant completely confirm this is possible).


The skp function allows you to skip a number of records and num specifies the number of records to be returned.

If there is a cap of 1,000 records per query then amend it to use num=1000 and then you can create your next query and use skp=1000 and num=1000 and then another query skp=2000 and num=1000 and so on. Note if there is a cap on number of records returned this is likely a performance limit and therefore you should be careful as the user could be waiting a considerable time for the report to generate or it may fail due to response timeout.

More details on the use of these functions and how to structure the query can be found on a previous post:

https://quickbase-community.intuit.com/questions/1076509-in-an-exact-form-can-i-use-a-javascript-if-...

An alternative if the limitation is due to a form based limit, then another method would be to generate multiple exact forms, you could perhaps do this from one button, conditionally based on the number of records to be pulled. So if 1500 it would generate 2 exact forms with 1,000 records max on each. So 1000 on 1 and 500 on 2. To acheive this you would need to use the skp and num function. Its up to you really how you proceed and is best decided based on your use case.



You may also find this post useful because if you break it down into multiple queries and don't use a conditional formula then you will get blank tables showing if for example your records did not exceed say 1,000 records.

https://quickbase-community.intuit.com/questions/929106-ever-wanted-to-make-your-exact-form-load-con...


Jack
Photo of Shaun Grey

Shaun Grey

  • 0 Points
Wow, thank you. I wasn't holding my breath on this one but it worked perfectly, although the reports I can produce now are so large I'm actually afraid of them.

For the record, here's what the API call in my Exact Form originally looked like, which was cutting off at 1000 records:

API_GenResultsTable^qid=25^ts="+ new Date().getTime()

I changed it to this:

API_GenResultsTable^qid=25&options=num-7000^ts="+ new Date().getTime()

And now I get every record in one convenient report.

Thank you again! I'm always amazed at how helpful the QB community is.
Photo of Jack

Jack, Champion

  • 50 Points
Pleased I could be of help. I've learned something new too so thanks.