Closes a query that was opened by a previous OPEN QUERY statement.
The r-clsqry.p procedure defines a query, q-cust, which it shares with r-query.p. Each time you choose the Ascending, Descending, or CustNum button, the procedure opens a new query for q-cust. To do this, the procedure must first close an open query for each q-cust. Therefore, the CLOSE QUERY statement is used in the CHOOSE trigger for each of these buttons.
r-clsqry.p
DEFINE NEW SHARED BUFFER x-cust FOR Customer. DEFINE NEW SHARED QUERY q-cust FOR x-cust. DEFINE BUTTON b_quit LABEL "Quit" TRIGGERS: ON CHOOSE QUIT. END. DEFINE BUTTON b_ascend LABEL "Ascending". DEFINE BUTTON b_descend LABEL "Descending". DEFINE BUTTON b_num LABEL "CustNum". FORM b_ascend b_descend b_num b_quit WITH FRAME butt-frame ROW 1. ON CHOOSE OF b_ascend DO: CLOSE QUERY q-cust. OPEN QUERY q-cust FOR EACH x-cust NO-LOCK BY x-cust.name. DISABLE ALL WITH FRAME butt-frame. RUN r-query.p. END. ON CHOOSE OF b_descend DO: CLOSE QUERY q-cust. OPEN QUERY q-cust FOR EACH x-cust NO-LOCK BY x-cust.name DESCENDING. DISABLE ALL WITH FRAME butt-frame. RUN r-query.p. END. ON CHOOSE OF b_num DO: CLOSE QUERY q-cust. OPEN QUERY q-cust FOR EACH x-cust NO-LOCK BY x-cust.CustNum. DISABLE ALL WITH FRAME butt-frame. RUN r-query.p. END. DO WHILE TRUE: ENABLE ALL WITH FRAME butt-frame. WAIT-FOR CHOOSE OF b_ascend, b_descend, b_num, b_quit. END. |
r-query.p