Great enhancement. I hope the development team will consider adding
this as a new SELECT function "LIST()" similar to present "AVG(),
SUM(), MIN(), MAX(), COUNT()" functions. I know several major
competitors offer such a function. Your example seems to be inconsistent
with SQL 92 syntax. 

-- 
Jim Bentley
American Celiac Society
[EMAIL PROTECTED] - email
(973) 776-3900 x5029 - voicemail/fax



---- "A. Razzak Memon" <[EMAIL PROTECTED]> wrote:
> 
> 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.
> ==================================-=============================
> 

__________________________________________________
FREE voicemail, email, and fax...all in one place.
Sign Up Now! http://www.onebox.com

Reply via email to