You seem to have gone to a great deal of extra work to accomplish having 25
items (in identical format on the screen)... perhaps you have sufficiently
compelling reasons for doing so.
It seems to me that it would be significantly simpler to use a (bound)
continuous-forms view to show all the information on each ticket (or if
there's not enough room, enough to identify a particular ticket, then allow
click or double-click to display the details in a bound form for a single
ticket). You can keep all your tickets, current and archived, in the same
table, with a field to indicate that the ticket is completed/archived -- use
that field in the Where clause of Queries to limit the Records returned to
active tickets. You can scroll through 25 records rapidly, or, if you wish,
you can include Combo Boxes to allow location / selection of specific
tickets (e.g., by number, or car model, or car color, etc.).
You cannot create an ActiveX control with Access VBA. You could write a
class module, or, for what you describe you want, I see no reason you could
not do it with a function or sub in a standard module, but before I invested
that sort of time and effort, I'd give serious consideration to what I
suggested in the first paragraph. If you feel compelled to create an
ActiveX, then you'll have to do so outside Access with a different
languages, such as C++, and unless you are an accomplished C++ programmer,
that is not a task "for the faint of heart".
The Access team suggests that the approach-of-choice is to use linked tables
via ODBC to MS SQL Server. Caveat: You should not, repeat NOT, expect
automatic performance increases by moving to SQL Server; you will have some
advantages in reduced probabilty of corruption in case of communication
interruption if the back-end MDB or SQL Server is on a different machine*,
and in recoverability, but, often, you will have performance decreases --
which you may be able to overcome with some design 'tweaks'.
* a frequent happening if you are using a wireless network,
even under 'good conditions'.
You should, for a number of reasons, discussed in depth at MVP Tony Toews'
site,
http://www.granite.ab.ca/accsmstr, split your data into a 'back end'
(tables and relationships) from your user interface, 'front end' (queries,
forms, reports, macros, and modules) if you decide to.
--
Larry Linson, Microsoft Office Access MVP
Co-author: "Microsoft Access Small Business Solutions", published by Wiley
Access newsgroup support is alive and well in USENET
comp.databases.ms-access
"Jim Franklin" <(E-Mail Removed)> wrote in message
news

ib_p.75153$(E-Mail Removed)2...
> Hi,
>
> I have a Access 2003 car wash app where the main screen shows up to date
> ticket information on the cars being processed. The form is unbound and
> opens a recordset to pull 10 pieces of information on each current ticket
> (one record per ticket, 10 fields). This data then populates clusters of
> unbound controls on the screen (1 cluster per ticket) - each cluster is
> mainly text boxes but also includes a rectangle whose border and fill
> colours represent 2 bits of info.
>
> There are 25 clusters on the screen (so a lot of controls!) and a maximum
> of
> about 50 open tickets at any time (if more than 25 records are returned in
> the recordset, up and down buttons appear which select 1-25, 26-50, 51-75
> etc. The code which populates the controls uses the corresponding records
> from the recordset. This data is constantly changing and the form is
> re-populated roughly every 15 seconds, all day long. There are 4 terminals
> all querying the same BE, which is on a fileserver.
>
> At present, the table of current tickets is kept deliberately small (100
> tickets). Once a ticket is completed, the record is appended to a sales
> table, and the ticket record is re-set and re-cycled. Over 100 sales are
> added every day. However, it would be advantageous to keep all the data in
> one table, with an indexed field tktCompletedTime to distinguish current
> from completed tickets.
>
> Primary question: At the moment, the BE is a .mdb file. To speed up
> performance, I am considering migrating the Back End to SQL Server and
> opening an ADO connection each time to establish the recordset, but am
> unsure what the performance advantage would be. Can anyone give me any
> ideas
> about what the performance implications would be? This is the main source
> of
> data traffic across the LAN - all other FE functions call up and edit 1
> record at a time and sometimes a small (<10) number of related detail
> records.
>
> One other secondary question: because of the number of controls (approx
> 250)
> on the form, I was considering trying to write (Using VB6 installed) a
> custom ActiveX control to replace each cluster and display all the
> relevant
> info on each ticket. I have never done this so is this a bad idea and is
> there any advantage in doing so?
>
> Many many thanks for reading all this (!) and for any help anyone can
> provide,
>
> Cheers,
> Jim
>
>
>