Dear David:
I have never heard that anyone else may have done this, but it is likely
they have. Whether anyone has published on how this is done I cannot say.
It is not unlikely, but I don't have any information on it.
The process is really one of manipulating the indexes to the columns' names
and values, based on the state of a scroll bar. That's not really so
difficult. Complex, yes. Requires fairly advanced skill, yes. Is
mysterious, no.
I have this topic on my own list of things to publish, but I only get around
to publishing something about once a year. There's not much money in it.
In fact, my experience is that it is far below the minimum wage. This
doesn't prevent me from doing so, but it doesn't encourage things much,
either. I actually get more from answering a few questions in the
newsgroups, so here I am. But covering a subject in detail is not so well
rewarded, either financially or in terms of being helpful to others. That's
really too bad, because I have a bit of a passion to publish.
Well, enough about me. Given your level of skill (I'm 20+ years in, well
30+) I expect you can tackle this. I can think of no great mystery about
it. I had nothing in mind but what I have written you when I started it,
and I pretty much zipped right through it. Everything you will need is
right at hand, and if you don't see it, let me know and I can point you that
way.
Here is one alternative I haven't mentioned. A query has a maximum of 255
columns. In a horizontally scrolling form you could actually requery the
data as the form scrolls. This might be just a bit slower, depending on the
query, but it lifts the restriction on number of columns. Just Rank the
columns and filter to that ranking using the operation of the scroll bar
control. That would work even with millions of columns. Actually, when I
did this later, it was probably less coding. You still must address the
columns by index, but that's simplified because you have exactly the right
columns needed.
This can actually be faster, as the volume of data required is less.
I'd be glad to answer specific questions about the implementation as you
proceed.
Enjoy.
Tom Ellison