Base the form on a single table view(that way it is still editable). When you 
want to change the where clause, close the view, drop it, recreate it, and 
reopen it.

PROPERTY table tmptablevw close
DROP VIEW tmptablevw NOCHECK

CREATE TEMP VIEW tmptablevw as select clause, where clause, order by

PROPERTY table tmptablevw OPEN

Dan Goldberg


From: [email protected] [mailto:[email protected]] On Behalf Of Karen Tellef
Sent: Tuesday, November 25, 2014 2:10 PM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Re: Edit Using clause changes within the form

Bill:  I'm not resorting the scrolling region.  I need to change the "where" 
clause of the form.  I thought that by having the where clause as a variable 
that I could dynamically change it within the form and redisplay data.

I go to old-school and exit the form and redisplay, but I was hoping I could 
stay inside the form.

Karen



-----Original Message-----
From: Bill Eyring <[email protected]<mailto:[email protected]>>
To: RBASE-L Mailing List <[email protected]<mailto:[email protected]>>
Sent: Tue, Nov 25, 2014 4:05 pm
Subject: [RBASE-L] - Re: Edit Using clause changes within the form
Karen,

Remember the trick you told me about last August of putting a dbgrid behind a 
scrolling region ?

I tried it and works like a charm. Maybe put the component id in the grid which 
will re-order the scrolling region ?

Here's what you sent me:

I wrote down a neat trick, can't say I've tried it myself.  Maybe it was from 
Javier (as so many neat tricks are).  They said to locate a DBGrid for the same 
table behind the scrolling region.  You place it so that the title bar is above 
the scrolling region and serves as its header row.  The user can click on the 
title bar of the DBGrid and it sorts both controls at once!  A bit of work 
because you have to size the DBGrid columns so they match the locations of the 
scrolling region columns.

Karen
Hope this works for you.

Bill

From: [email protected]<mailto:[email protected]> 
[mailto:[email protected]<mailto:[email protected]?>] On Behalf Of Karen Tellef
Sent: Tuesday, November 25, 2014 4:49 PM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Re: Edit Using clause changes within the form

Unfortunately the control is a scrolling region, I don't think there's a 
refresh property for a region, is there?   I can't use a list view because the 
data is directly editable.

Karen



-----Original Message-----
From: Bill Eyring <[email protected]<mailto:[email protected]>>
To: RBASE-L Mailing List <[email protected]<mailto:[email protected]>>
Sent: Tue, Nov 25, 2014 2:34 pm
Subject: [RBASE-L] - RE: Edit Using clause changes within the form
Karen,

Have you tried assigning the control that displays the payables data a 
Component_Id?

Then you can add to your eep ;

Property component_Id refreshlist 'true' ... something like that ?

Bill Eyring


From: [email protected]<mailto:[email protected]> 
[mailto:[email protected]<mailto:[email protected]?>] On Behalf Of Karen Tellef
Sent: Tuesday, November 25, 2014 12:33 PM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Edit Using clause changes within the form

I could have sworn I've done this...  now I can't get this to work.

I have a search form up.  When double-clicking on a row in the results 
listview, an eep does this:
    SET VAR vPayWhere = ('ID = .vID'), vPayType TEXT = 'ALL'
    EDIT USING payable WHERE &vPayWhere

The Payable form comes up, and there is a radio group at the top where they can 
pick either "All" or "Paid" (this is what the vPayType variable does).  It 
comes up as "All", and if they click "Paid" then it sets a new vPayWhere 
clause, as shown below.  I thought that by doing the table refresh, it would 
reach back to my "edit using payable where &vpaywhere" clause in the previous 
form to do a refresh, but it just stays on the "All".   I've tried temporarily 
modifying Paid to say other things, and it ignores.  Code traces with no error. 
 The vPayWhere by itself works to bring up payable data from the R> prompt.
     SWITCH(.vPayType)
CASE 'ALL'
  SET VAR vPayWhere = ('ID = .vid')
  BREAK
CASE 'PAY'
  SET VAR vPayWhere = ('ID = .vid AND payit IS NOT NULL')
  BREAK
ENDSW

PROPERTY TABLE payable 'REFRESH'
RETURN

I can do this, right?


Karen

Reply via email to