At 01:58 PM 8/31/2001 -0700, Ron Rose wrote:

>How does one get a valuelist (delimited string) from 
>a SELECT command.

Ron,

Very simple!

Option 01: 

Using TGRB2000 version 6.5++, build:1.843 and higher: 

SET ERROR MESSAGE 2441 OFF
SET VAR vValueList TEXT = NULL
SELECT ColumnName INTO vValueList INDIC IvValueList +
FROM TableName WHERE ... ORDER BY ...

The variable vValueList will include the list of 
delimited string values!

If you would like to see it, you just have to wait 
until October 20th, 2001 for that bag of tricks <g>. 

Option 02: 

CONNECT Concomp
SET CAPTION ' '
SET VAR vPickItem TEXT = NULL
SET VAR vValueList TEXT = NULL
SET VAR vLastName TEXT = NULL
SET VAR vLines INTEGER = 0
SET VAR vTitle TEXT = 'Select Employee Last Name'
SET VAR vCaption TEXT = 'Using #LIST Option in CHOOSE Command!'
CLS
PAUSE 3 USING 'Building vValueList ...' CAPTION .vCaption AT 16 30 
SELECT COUNT(*) INTO vLines INDIC IvLines FROM Employee
IF vLines > 18 THEN
    SET VAR vLines = 18
ENDIF
SET ERROR MESS 705 OFF
DROP CURSOR c#1
DECLARE c#1 CURSOR FOR SELECT Emplname FROM Employee +
ORDER BY Emplname 
OPEN c#1
FETCH c#1 INTO vLastName INDIC IvLastName
WHILE SQLCODE <> 100 THEN
      SET VAR vValueList = +
      (IFNULL(.vValueList,(.vLastName),(.vValueList+','+.vLastName)))
      FETCH c#1 INTO vLastName INDIC IvLastName
ENDWHILE
DROP CURSOR c#1
CLEAR VAR IvLines, IvValueList, vLastName, IvLastName 

CLS
CHOOSE vPickItem FROM #LIST .vValueList AT 6 30 +
TITLE .vTitle CAPTION .vCaption LINES .vLines FORMATTED
IF vPickItem IS NULL OR vPickItem = '[Esc]' THEN
    GOTO Done
ELSE
     CLEAR VAR vTitle, vCaption, vLines, IvLines
ENDIF

-- Do what you have to do here ...

LABEL Done
-- CLEAR ALL VAR 
-- or CLEAR ALL VAR EXCEPT ListOfVariables
-- QUIT TO MainMenu.RMD

There you have it. 

The variable vValueList will include the list of delimited 
string values! 

Notes:

Option 02 has the advantage of collecting data from various 
tables DECLARing different CURSORS and then building a very 
complex vValueList! 

Option 02 is a sample code. You could achieve the simple 
list by using the CHOOSE ... #VALUES option also. 

Have Fun!

Very Best Regards,

Razzak.

===================================-============================
R:BASE Developers's Conference: http://www.rbase.com/conference 
Official R:BASE List Server:    mailto:[EMAIL PROTECTED]
RBTI Events/Training:        http://www.rbase2000.com/events
R:DCC Members:               http://www.rbase2000.com/rdcc
================================================================
R:BASE, Oterro & R:Tango are registered trademarks of RBTI.
==================================-=============================

Reply via email to