Fancy Formatting of recordset output

OK, I'm building my own Schema Browser for my database - and it's all working fine, but I'm looking for a way of doing some slightly fancier formatting of my recordset output (pages currently in ASP with VBScript) ...

On Page1, I get the user to select a tablename from a list of table names from the database - this tablename is then passed into Page2 (the page that I want to reformat). Given a specific table name, I show the user a list of column names for that table - with a checkbox alongside each column name so to allow the user to indicate which columns they want to include in a subsequent SQL SELECT statement. Please note that this all works OK, my question is related to how I present the list of column names to the user .....

The relevant code snippet is as follows :
<CODE SNIPPET BEGINS ...>
  TableName = Request.QueryString("TableName")
  Set cn = Server.CreateObject("ADODB.Connection")
  cn.Open "DSN"
  Set TableInfo = Server.CreateObject("ADODB.Recordset")

  ' Just access the required tablename to pull out all of the column names
  TableInfo.Open TableName, cn, adOpenForwardOnly, _
               adLockReadOnly, adCmdTable

  ' TableInfo will now contain all of the column names from the TableName
  ' Create an HTML checkbox for each field in the RecordSet (ie column name
  ' in the table) for the table name passed in.
  ' Note that TableInfo.Fields.count will give you the number of columns ..
  ' Each column name (objField.Name) can be up to 24 characters long
  For Each objField in TableInfo.Fields

       Response.Write "<INPUT TYPE=CHECKBOX NAME=" & _
                                 vbQuot & "Field" & vbQuot & _
                                 " VALUE=" & _
                                 vbQuot & objField.Name & vbQuot & _
                                 " ID=" & _
                                 vbQuot & objField.Name & ">" & _
                                 "<LABEL FOR=" & _
                                 vbQuot & objField.Name & vbQuot & _
               ">" & objField.Name & "</LABEL>" & "<BR>"
  Next
<CODE SNIPPET ENDS ...>

  Produces a list like
  [check] firstcol
  [check] secondcol
  [check] thirdcol .... and so on vertically down the screen

  I'd ideally like to have these column names nicely formatted horizontally
  across the screen as in :

  [check] firstcol       [check] secondcol     [check] thirdcol      
  [check] fourthcol    [check] fifthcol          [check] sixthcol
 and so on .....

Ideally, I'd like to see the output formatted so that the checkboxes are nicely aligned under each other - it should be noted that each column name can be
a maximum of 24 characters.

Hopefully' I've explained this requirement clearly enough - so I'd love to see a workable solution .....
raymurphyAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

ap_sajithCommented:
Use this code..

' TableInfo will now contain all of the column names from the TableName
 ' Create an HTML checkbox for each field in the RecordSet (ie column name
 ' in the table) for the table name passed in.
 ' Note that TableInfo.Fields.count will give you the number of columns ..
 ' Each column name (objField.Name) can be up to 24 characters long
 Response.write "<Table width=100% cellpadding=2 cellspacing=2>"
 tdCount=0
 For Each objField in TableInfo.Fields
      If tdCount=3 Then
            response.write "</TR>"  & vbCRLF & "<TR ALIGN='LEFT'>" & vbCRLF
            tdCount=0
      End if
      Response.Write "<TD WIDTH='20px' ALIGN='LEFT'>&nbsp;</TD>" & vbCRLF
      Response.Write "<TD WIDTH='2px' ALIGN='LEFT'>"
    Response.Write "<INPUT TYPE=CHECKBOX NAME=" & _
                              vbQuot & "Field" & vbQuot & _
                              " VALUE=" & _
                              vbQuot & objField.Name & vbQuot & _
                              " ID=" & _
                              vbQuot & objField.Name & "></TD>" & _
                              "<TD CLASS='regular' ALIGN='LEFT'>&nbsp;<LABEL FOR=" & _
                              vbQuot & objField.Name & vbQuot & _
              ">" & objField.Name & "</LABEL></TD>"
      tdCount =  tdCount + 1
 Next
 Response.write "</Table>"

Cheers!!
ap_sajithCommented:
small typo..


' TableInfo will now contain all of the column names from the TableName
' Create an HTML checkbox for each field in the RecordSet (ie column name
' in the table) for the table name passed in.
' Note that TableInfo.Fields.count will give you the number of columns ..
' Each column name (objField.Name) can be up to 24 characters long
Response.write "<Table width=100% cellpadding=2 cellspacing=2><TR ALIGN='LEFT'>"
tdCount=0
For Each objField in TableInfo.Fields
    If tdCount=3 Then
         response.write "</TR>"  & vbCRLF & "<TR ALIGN='LEFT'>" & vbCRLF
         tdCount=0
    End if
    Response.Write "<TD WIDTH='20px' ALIGN='LEFT'>&nbsp;</TD>" & vbCRLF
    Response.Write "<TD WIDTH='2px' ALIGN='LEFT'>"
   Response.Write "<INPUT TYPE=CHECKBOX NAME=" & _
                             vbQuot & "Field" & vbQuot & _
                             " VALUE=" & _
                             vbQuot & objField.Name & vbQuot & _
                             " ID=" & _
                             vbQuot & objField.Name & "></TD>" & _
                             "<TD CLASS='regular' ALIGN='LEFT'>&nbsp;<LABEL FOR=" & _
                             vbQuot & objField.Name & vbQuot & _
             ">" & objField.Name & "</LABEL></TD>"
     tdCount =  tdCount + 1
Next
Response.write "</TR></Table>"


Cheers!!

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
raymurphyAuthor Commented:
Excellent stuff, ap_sajith, your code gives me exactly what I was after - so thanks a lot for that !!!
ap_sajithCommented:
Glad to help .. Thanks for the points..

Cheers!!
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
ASP

From novice to tech pro — start learning today.