Glad it worked, Bob!  I never thought of doing an autonum with an "order by", I 
could have done
that instead of using a lookup temp table!

In my case users are allowed to add or delete rows within the form, so I needed 
custom add/delete
buttons rather than a navigator bar, and after the add or delete it would 
re-autonumber the table.
Easy-Peasy!

Karen

 

 

 

-----Original Message-----
From: ttc.inc <[email protected]>
To: RBASE-L Mailing List <[email protected]>
Sent: Mon, Jan 12, 2015 9:03 am
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