Solved

Fancy Formatting of recordset output

Posted on 2003-11-26
4
332 Views
Last Modified: 2009-07-29
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 .....
0
Comment
Question by:raymurphy
  • 3
4 Comments
 
LVL 21

Expert Comment

by:ap_sajith
ID: 9825725
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!!
0
 
LVL 21

Accepted Solution

by:
ap_sajith earned 250 total points
ID: 9825748
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!!
0
 

Author Comment

by:raymurphy
ID: 9827749
Excellent stuff, ap_sajith, your code gives me exactly what I was after - so thanks a lot for that !!!
0
 
LVL 21

Expert Comment

by:ap_sajith
ID: 9827799
Glad to help .. Thanks for the points..

Cheers!!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Update Stored Procedure question 8 48
Out the count variables 6 53
Age between date range query (SP) 13 52
Hide row when retrieving data from database 6 53
I was asked about the differences between classic ASP and ASP.NET, so let me put them down here, for reference: Let's make the introductions... Classic ASP was launched by Microsoft in 1998 and dynamically generate web pages upon user interact…
This demonstration started out as a follow up to some recently posted questions on the subject of logging in: http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_28634665.html and http://www.experts-exchange.com/Programming/…
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …

896 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now