Re: Unbound form
Hi,
I have seen some examples or discussions that only load few records at
a time.
One method is to load using a filter. For that you need to know the
range of an indexed field.
One notion has to do with the datasheet view. Say the screen can hold
25 records at a time. Load fifty. Get the count of records to modify
the scrollbar thumb. If/when the user scrolls to view record 26, load
51-75. Then, when you have the form open, you will have three
recordsets open, to use the Access record bound form. If the user uses
the scrollbar to navigate, then perhaps it is key to have a popup with
letters, say, to not update the form scrolling until the scrollbar
thumb is released.
So, if you know how many records there are, then you could divide them
into the blocks of records that fit on the screen, and just keep a
previous and next recordset, and set the recordset to the previous or
next as the user scrolls, with the one going off the page closed and
opened as the new recordset.
That would be more transaction heavy on the database, and the bound
form probably already does much of that. To modify the scrollbar
probably would require getting the HWND and hooking the message pump.
I don't know.
I like to use the unbound forms, because it is more similar to what the
implementation of the web page database access is. If you use Access
to enforce referential integrity, and change to a backend that doesn't
support that, then you have to enforce it yourself anyways.
Especially if you use a separate unbound form to add the record, and
the continuous form only for viewing the records as read-only, then you
can use INSERT or open the RecordSet using the dbAppendOnly third
option, with the Dynaset and _not_ the Table nor Snapshot. For
editing, the unbound form does not lock the record in the database. I
have read examples that have in each table row a modification
timestamp, where the unbounded form(s) are used to edit a record, and
then if it doesn't match the timestamp when it is to modify the
table(s)'s record(s), to inform the user for cancel, review, or store
for later reconciliation options.
Those are some ideas, I can't say how well they would work. Access is
a great tool, many environments do not have the bound forms. The OLE
DB DAO Dynaset does a lot of the network performance improvement
automatically.
Is that wrong? I am not an Access expert.
With warm regards,
Ross |