View Single Post
 
Old 08-31-2023, 10:36 PM
ArviLaanemets ArviLaanemets is offline Windows 8 Office 2016
Expert
 
Join Date: May 2017
Posts: 949
ArviLaanemets has a brilliant futureArviLaanemets has a brilliant futureArviLaanemets has a brilliant futureArviLaanemets has a brilliant futureArviLaanemets has a brilliant futureArviLaanemets has a brilliant futureArviLaanemets has a brilliant futureArviLaanemets has a brilliant futureArviLaanemets has a brilliant futureArviLaanemets has a brilliant futureArviLaanemets has a brilliant future
Default

My advice is, in separate Excel report workbook, create an ODBC query, which reads data from your Master workbook, and displays it in a way you want in this report workbook (columns rearranged, data in query table ordered e.g. by make and by year, etc.

The report table can be set to be refreshed when the report workbook is opened, or by some schedule (what I usually avoid, as the workbook will freeze for some time period [without any control over this from your side], - which depends on the size of source table and on connection speed when query is running), or manually whenever the user wants it (right-clicking on report table and selecting Refresh, or from Data menu selecting Refresh All).
Trying to set another sheet/workbook to be refreshed, when anything is changed in source table, is not a good idea for Excel. Excel events are very limited, and as much as I know, the only one you can use for this, is the one which runs when any cell on sheet is edited (NB! The event always runs even when you double-click on any data cell, and press Enter, without changing anything really!). This means, that work with your Main table may get really sluggish!

The query table in report workbook is really a Defined Table, so there is filtering option set automatically. The easiest way to get only certain model displayed, is to set the filer for this model. Additionally you can reserve some rows at top of page, where you can use SUBTOTAL formulas, to display various statistics (counts, totals, averages, etc.) for filtered rows in certain columns (e.g. min/max prices for selected model).

The another way to get a table of certain model, is to have another sheet (e.g. ModelReport) in report workbook, where at top you have field(s) where you can determine e.g. the model, and there will be an ODBC query similar to first one, but having the reference to condition cell(s) as parameter(s) for WHERE condition, which returns data for determined model whenever the entry in [any] condition cell is changed. I.e. you don't need a sheet for every model - you have a single ModelReport sheet, and can get data for every model there (but for single model only - or for any set of conditions) - simply by selecting a model/conditions you want.

With design like this, having the report workbook opened, doesn't in any way affect the Main workbook. And you can have any number of copies of report workbook, used by different users at same time, and not affecting the work of other users in any way. The only limit is, that those users must have the access (minimally read rights) to Main workbook
Reply With Quote