Subject Re: [IBO] RE: Master/Detail tables
Author Geoff Worboys

> When I put the dataset in Search mode is it enough to issue
> the Cancel method to put back in browse mode without
> searching the records.

I think you have misunderstood how this works.

In desktop database environments (Paradox etc), you may have generally
openned the table, effectively having access to all records and then
prompted the user to search for a particular item. This is not how
client/server operates...

In client/server/SQL databases there is no data until you ask for it.
One of our objectives as developers is to setup the client so that it
retrieves as little as possible data from the server (but still
fulfill the client requirements). This arrangement (properly done)
minimises the impact on the server and the network, maximising the
number of users that can access the system concurrently.

Without IBO, this is achieved by writing a select statement.
eg. SELECT FieldA, FieldB from TABLEA WHERE FieldA='SomeValue';

IBO has provided search mode as a means of making it much easier to
prompt the user to select only the data they actually need. So when
you are in search mode there is no data. The data must be retrieved
by executing the search and retrieving the set of records that matches
the specified criteria. IBO will build the potentially complex select
statement from the criteria that the user enters.

Without any search criteria, all records that match the select
statement entered into the SQL property will be retrieved. To
"cancel" a search and return to a previous set of selected (searched
for) records, it is necessary to restore the previous search criteria
(or clear the criteria if there was no previous search) and execute
that. IBO supports saving and restoring search criteria, see the
SaveSearch, ReadSearch, RecallSearch functions.

In most of my applications I open the form in search mode, let the
user enter criteria and perform the search. Once they have a set of
records they can view/browse/edit/delete those records. If they want
to see something else they go back into search mode as specify new
criteria. See the Contact sample application.

> No it is not a MDI application, becouse of nature of my program I
> use a master Form with a TPanel component as a parent to
> displaying the other forms and I use the TMainMenu Merge
> method to merge the Forms menu in the master Forms menu.

The monitor form should not disrupt the merge of the menus. See if
you can find an appropriate place to put a breakpoint, to see if we
can determine why this is happening. (ie. What event is occuring that
is causing the menu to unmerge.)

Perhaps it is just because you are relying on form focus (or
Screen.ActiveForm), and when the monitor form gains focus it is
upsetting your code.

> I want to ask is there any free version of the IBObjects getting
> started guide or any other source for learning it, becouse my
> wages here in Yugoslavie are not so high about 100 USD for
> the month and unfortunately I can't afford to pay for it.

The only free items are the tutorials provided, the online help and
this list. Hopefully that will be enough to get you going.

> At end I want to thank for Jason for making such a good
> component collection and for you for making the enhanced
> components!

Such words are always nice to hear. :-)

Geoff Worboys
Telesis Computing