breezett93
Technical User
I am trying to address the slowness of our material billings page. How the page currently works is after clicking the button, the billings form loads and shows all orders that are not complete/open billings. This currently takes around 45 seconds, and it's displays between 500-800 records on average.
The users have deemed it more valuable to save time than to see all the records at once. So, I removed the record source from the form and placed it in the order selection combo box. Now the billings page opens immediately showing nothing which is fine.
I changed how the query works; so that instead of grabbing all material items tied to open orders, it now should only grab items associated with the order selected from the drop down. Each order has 10 billings at most; so this should be almost instant. However, after making these changes, the page still takes the same amount of time to show the selected order.
So, here is detailed information about how the queries originally worked.
QryA: uses the ItemTbl, ItemCategoryTbl, qry1, qry2, qry3 all with option 2 joins pointing back to ItemTbl
qry1: uses BillofMaterialsTbl to sum the billed quantity for each item
qry2: uses the PurchaseOrderTbl to sum the received quantity for each item and remove completed orders
qry3: uses the PurchaseOrderTbl to sum the inventory quantity for each item
QryB: uses the BillofMaterialsTbl and QryA
QryB was the record source for the material billings form.
Here is what I changed.
QryB: now only uses the BillofMaterialsTbl with a Criteria of the order number in the drop down box.
I have tested this query on it's own, and it immediately displays the order with the handful of items billed to it.
QryC: uses QryB and QryA with an Include all records from QryB and only records from QryA where the joiend fields are equal (option 2 join).
My understanding to this is that QryA should only be pulling records that match QryB, instead of pulling all open orders. Something must not be right though because it still takes the same amount of time on the form.
Thanks
The users have deemed it more valuable to save time than to see all the records at once. So, I removed the record source from the form and placed it in the order selection combo box. Now the billings page opens immediately showing nothing which is fine.
I changed how the query works; so that instead of grabbing all material items tied to open orders, it now should only grab items associated with the order selected from the drop down. Each order has 10 billings at most; so this should be almost instant. However, after making these changes, the page still takes the same amount of time to show the selected order.
So, here is detailed information about how the queries originally worked.
QryA: uses the ItemTbl, ItemCategoryTbl, qry1, qry2, qry3 all with option 2 joins pointing back to ItemTbl
qry1: uses BillofMaterialsTbl to sum the billed quantity for each item
qry2: uses the PurchaseOrderTbl to sum the received quantity for each item and remove completed orders
qry3: uses the PurchaseOrderTbl to sum the inventory quantity for each item
QryB: uses the BillofMaterialsTbl and QryA
QryB was the record source for the material billings form.
Here is what I changed.
QryB: now only uses the BillofMaterialsTbl with a Criteria of the order number in the drop down box.
I have tested this query on it's own, and it immediately displays the order with the handful of items billed to it.
QryC: uses QryB and QryA with an Include all records from QryB and only records from QryA where the joiend fields are equal (option 2 join).
My understanding to this is that QryA should only be pulling records that match QryB, instead of pulling all open orders. Something must not be right though because it still takes the same amount of time on the form.
Thanks
Last edited: