Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


Get Data with GetString

GetString returns the contents of a recordset into a formatted string. Here are three useful ways to use GetString.

DO recordsets have a handy little method called GetString that they inherited from RDO's GetClipString. GetString returns the contents of a recordset into a formatted string. Here are three useful ways to use GetString. The official syntax of GetString is:

String= recordset.GetString([StringFormat], [NumRows],
[ColumnDelimiter], [RowDelimiter], [NullExpr])

Parameter Description
StringFormat Currently the only supported format is AdClipString, which returns a row and column delimited string
NumRows The number of rows to be returned
ColumnDelimiter The character inserted between columns. It is not inserted before the first column, or after the last column. The default is a Tab character
RowDelimiter The character inserted between rows. It is not inserted before the first row, or after the last row. The default is a Carriage Return character.
NullExpr Expression to be used in place of a Null value. The default is an empty string

An important thing to note about GetString is that it reads the recordset by moving the cursor from its current position to the end of the recordset. Therefore you should:

  • Make sure the cursor is at a valid record before calling GetString.
  • Save the current cursor position if you want to return to it.
  • Move to the first record if you want read the entire recordset.
  • Move to a valid record after GetString moves the cursor to the EOF after reading the last record.
Quick View
To view the contents of a recordset quickly while in break mode, simply type into the Immediate window:


This will return the data in a table format using the default tab and carriage return delimiters. Remember to move back to the beginning of the recordset after you are done.

Quick Grid
To display quickly the contents of a recordset in a MSFlexGrid, follow these steps:

1. Dimension the grid by setting the Cols property to the amount of fields in the recordset. Set the Rows property to either the estimated amount of rows or move to the last record to populate the RecordCount property. Note that not all recordsets support the RecordCount property and will always return -1.

2. Select all the rows and columns of the grid using the Rowsel and Colsel properties.

3. Set the Grid's Clip property to the return value of GetString Here's sample code:

With Grid1 .Cols = rs.Fields.Count rs.MoveLast .Rows=rs.RecordCount rs.MoveFirst .Rowsel= .Rows-1 .Colsel = .Cols-1 .Clip= rs.GetString End With

Quick Web Page
You can turn a recordset into an HTML table quickly and display it in a Web page. All you've got to do is specify HTML table tags as the row/column delimiter arguments of the GetString method. The <TD></TD> tags begin and end a cell (column). The <<TR></TR> begin and end a row. The first column on a row will not have the column delimiter before it, nor will the last column on a row have the column delimiter after it. Therefore you must add the </TD> (end cell) before you end a row, and add the <TD> (begin cell) tag after you begin a row. Here's the code:

ColumnD = " </TD><TD> " 'end a cell, begin a cell, this inserted between columns RowD = " </TD></TR><TR><TD> " 'end a cell, end a row,
begin a row, begin a cell, this inserted after the ' last column on a row
and before the first column of the subsequent row strHeader="<TABLE><TR><TD>" 'begin the table, begin the first row, begin the first cell strFooter= "</TABLE>" strData = rs.GetString (ColumnDelimiter:=ColumnD, RowDelimiter:=RowD) strHTML=StrHeader & strData & strFooter

Michael Gellis works at Flash Creative Management (a Microsoft Partner) as a Visual Basic developer. He is a Microsoft Certified Professional in VB5 and VB6 and is co-writing a book for Sybex on VB 6.0 and distributed applications. You can reach him here.
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date