Provide a native grid control similar to the visual studio gridview or even the old flexgrid.
A grid control provides the means to show tabular data. Some features include
- Sorting by column
- Moving columns by dragging
- Selecting individual cells
- Formatting individual row, columns, or cells
- Control columns such as checkboxes for selecting a row
- Edit cell of data
- Spreadsheet type movement
The capabilities provided by the Visual Studio gridview is a great example. The features that this provides are far beyond what is capable in Access especially when dealing with unbound data. A common example that I see on the message boards is a user want to build a simple calendar, outlook type appointment scheduler, or Oulook email view. All of these examples are simple to do with a grid view but require significant "hacks" in Access.
The flexgrid and listiview controls provided some of these features but they never worked well in Access, were clumsy, difficult to code, and poorly documented.
What a grid control provides would greatly expand what can be done and done simply in Access.
There are quite a few controls in Access that are in need of modernization but yes, the grid control is absolutely the most important.
While we wait for the Access team to make up their mind on this suggestion, I would like to tell you all about an excellent third party grid control that I am using. I have 60+ instances of this grid in my application and I recommend it highly. Powerful, flexible, and very stable in Access.
For the cynics out there, I am not in any way associated with this guy. I think he is a one-man shop and the guy is really good at supporting his product. He specifically supports it for Access which is really rare. He even has a forum section specifically for Access support. Just read through his posts on the support forum and decide for yourself.
Phill Barnes commented
I really hope this gets reviewed a good grid control could very useful or as others have stated enhancements to the listbox control as a bare minimum, applying formatting to headers and rows separately, grouping etc. Very similar to 10tec.com activex product perhaps
Sigurd Aas commented
(..and a little "bump"):
As of posting this comment - this suggestiong is #4 on the "most wanted list" by votes.. ...and still not under review?
I find it strange that this suggestion is "untouched" by MS so far..
Sigurd Aas commented
To pitch in - I miss a good grid everyday in Access. Why?
Datasheet and continuous forms both lacks features.
- Cannot show pictures like continuous forms.
- Conditional formatting *does not work properly*! You have to hover over the fields to make it work.
Does support the above mentioned shortcomings of the datasheet, but then you will be lacking:
- support for drag and reorder columns
- support for sorting/quick filtering
And both lack a proper way of selecting multiple non-continuous rows, unless you resort to a local table with a boolean column or "trix" with a function (class and Collection With row ID and state)
And how about dynamic number of columns??
The listbox solves this, but alas - it lacks *everything* else..
So YES - please give us a better grid control!
(OR: improve/fix the datasheet With the above listed shortcomings, and I will be very happy..)
it would be perfect if the following informations can be saved/restored: column width, sort order, field order
filtering would be perfect
To answer B. Clothier
“Just curious - why couldn't this be simply enhancing the datasheet form or continuous form? As far as I know, a datasheet form already can do sorting/move by dragging/selecting and editing individual cells out of the box. Formatting can be achieved with conditional formatting. Selection can be done but with a fair amount of VBA but is possible. Only one feature listed that neither can do well (even with VBA programming) is "spreadsheet type movement". “
I probably should have been clearer. But this would be primarily for unbound data for creating a gridded interface and not really for displaying columnar data. With gridded information both the row and column have meaning.
Best example I can think of, and a commonly requested interface is the Outlook Appointment view. Along the top you have dates along the side you have times. You can edit each cell and apply different formats for rows and columns.
Using a gridview control I can recreate that capability very easily. Doing this with bound controls in a datasheet or continuous form is not possible. Doing this unbounded with a bunch of textboxes is extremely, extremely time consuming.
Another simple example is a calendar control. If I want to build a simple calendar control, I can do this with 42 unbound text boxes and a lot of vba. I can do it with a grid a lot simpler. Also a lot easier to format, modify, and update.
Any time you would like to take normalized data and present it in a non-normalized view but still edit it, you could use a gridview. You cannot edit a crosstab query. Think how many times users choose non-normal table designs because they do not know how to display or enter the data.
B. Clothier commented
Just curious - why couldn't this be simply enhancing the datasheet form or continuous form? As far as I know, a datasheet form already can do sorting/move by dragging/selecting and editing individual cells out of the box. Formatting can be achieved with conditional formatting. Selection can be done but with a fair amount of VBA but is possible. Only one feature listed that neither can do well (even with VBA programming) is "spreadsheet type movement". Could it be easier to achieve by improving the flaws in datasheet view as opposed to creating a native control?
Patrick Headley commented
At the time of writing this there are 86 votes and it's still not under review by MS. If a full flex grid solution is not possible then modify list box controls to allow different fonts, colors and font sizes per column/cell and the native ability to sort by column with a way to "remember" the last selected sort between sessions or instanaces.
Jack Leach commented
UserForms allow you to create controls on the fly, and treat them separately, so we can almost get away with something like this, but they're not quite native to Access and it's a major PITA to handle. A flexible GridView control would be superb - one where we can manage rows individually: it's one of the few missing components to Access development that keeps certain things off par with .NET's LOB type GUI functionality. (I rarely tell a client that they can't have [some feature] in Access, but I've had to because of this - (at the alternative of ridiculous expense to recreate via UserForms)).
Yes, and the gridview should work in Word, Excel, etc as well
Patrick Headley commented
I completely agree. Just make sure to keep the ability to select an entire row. To be more specific, it would be nice to be able to set font, color and weight by column and at the cell level and to be able to use hyperlinks in rows.