Hello,

Instead of using the AUTONUM column, could you use this?

SELECT COUNT(*) INTO vRecNumber FROM BOMHeader WHERE Item<=.vItem


Regards,

Stephen Markson
The Pharmacy Examining Board of Canada
416.979.2431 x251

From: [email protected] [mailto:[email protected]] On Behalf Of 
[email protected]
Sent: January-12-15 10:03
To: RBASE-L Mailing List
Subject: [RBASE-L] - Re: Property ... Search - Fast alternative

I found a very fast and workable alternative to the "Property Search" question
I had posted earlier.  Perhaps it can be of use to others.   To recap, I needed 
to be
able to pull up a complex form, (not based on a grid or list view) and give the 
ability
for a user to quickly move to any desired record in the table and from there be 
able
to move forward or backward a row at a time in the order the form was called up 
in.
In this case, I was dealing with Item Master and Bill of Material Master tables.

Karen Tellef responded that she used the "Property ..jumpto" function with grids
and suggested a method of possibly using a grid by sizing it to a single data 
field.
However, when looking at the command, it does not reference any form control, 
but
was a table command, so it had to work at the table level and I did not need to 
use
a grid.

So my solution was this.

1)Place an autonum column in the table.   I named it Bom_Rec_No.  Autonum the
data using the ORDER BY clause.  This number now corresponds to the internal
record number in the Rbase table.

AUTONUM Bom_Rec_no IN bomheader USING 1 1 order by item num

2)On my form, I placed a button with the eep that contained following core code.
(I did not list all the error checking etc. here)

... ask for the desired item number, conduct various checks and error routines 
then

Set var vRecNumber = Bom_Rec_No in BomHeader where item = .vitem

....other various checks and messages


SET VAR vQuotes = (CVAL('QUOTES'))



set var vSearch = ('Property Table BomHeader ' + .vQuotes ++
'JumpTo ' + (CTXT(.vRecNumber)) + .vQuotes)



--goto first record as this speeds up search



Property Table BomHeader 'FIRST'



--Jump to desired record

&vSearch





I  call the form by

Edit BOM_Master order by Item asc



This puts the records in the same order as the autonum column

and in the logical order for the user.



When the user clicks the office button, they are asked for an item number,

the form jumps directly to that item very quickly.   They can then move forward

or backward in the table.  So they can enter item 750, it jumps to 750.  The 
NEXT
button goes to 751, 752, etc. etc.   The PREV button goes to 749, 748 etc. etc.,

using the standard NEXT ROW / PREV ROW eep's.



I placed the above AUTONUM command in the app that creates new Items or

Bill of Materials.  So that if items are added, they are properly numbered in 
item

sequence.  New Items and BoM's are added only occasionally, so the renumbering

is not a big issue in my case.



A nice feature might be for Rbase to allow the retrieval of the internal table 
record number,

similar to the Grid's GetProperty function, but allow you to obtain it with a 
WHERE clause.

This would eliminate the need for the AUTONUM column and coding above.



Set var vRecNumber = RBTI_Table_RecordNum in tablename where column_name = 
.vValue



Thanks Karen for a suggestion that led to a final solution!



-Bob

Reply via email to