Solved

Using ADO to retrieve field captions

Posted on 2001-08-21
9
343 Views
Last Modified: 2012-06-21
Some code:

<%

Dim rs, conn
Set rs = Server.CreateObject("ADODB.Recordset")
Set conn = Server.CreateObject("ADODB.Connection")

conn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("database.mdb")

conn.Open

rs.Open "SELECT * FROM MyTable", conn, 2, 3

' If I wanted to retrieve the field NAMES I would do this

For Each fld In rs.Fields
   Response.Write fld.Name & "<br>" & vbCr
Next

' But I want to retrieve the field's
' caption or description!
%>

So in design view my database looks like this:

Field ------ Type ------ Description
Username --- Text ------ The username on this account
Password --- Text ------ The password matching username

I want my for loop to output "The username on this account" and "The password matching username" instead of Username and Password.

Thanks in advance.

Dan
0
Comment
Question by:SuperMario
  • 2
  • 2
  • 2
  • +3
9 Comments
 
LVL 3

Author Comment

by:SuperMario
ID: 6410760
I wish they had a way to include <FONT FACE="Fixedsys">fixed-width</FONT> font styles.
0
 
LVL 7

Expert Comment

by:John844
ID: 6410830
This feature in access in not supported in all other databases.  I don't think ado has any builtin capabilities to read this property of a field.  You might look into dao which is more access specific, but not optimized for web usage.

John
0
 
LVL 5

Expert Comment

by:raizon
ID: 6411130
Use this.

<%

Dim rs, conn
Set rs = Server.CreateObject("ADODB.Recordset")
Set conn = Server.CreateObject("ADODB.Connection")

conn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("database.mdb")

conn.Open

rs.Open "SELECT * FROM MyTable", conn, 2, 3

Set Fields = rs.Fields

' If I wanted to retrieve the field NAMES I would do this

For Each fld In Fields
  Response.Write fld.Name & "<br>" & vbCr
Next

' But I want to retrieve the field's
' caption or description!
%>
0
 
LVL 20

Expert Comment

by:jitganguly
ID: 6411132
Actually it is do-able. I was answering a same question in SQLServer, but mgfranz came up with his briliant idea of using Ole db. Check this
Use COLUMN_SIZE,with COLUMN_NAME and TABLE_NAME

<%    
Set conn = Server.CreateObject("ADODB.Connection")
conn.ConnectionTimeout = 15
conn.CommandTimeout =  10
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("data/database.mdb")
   Set rstSchema1 = conn.OpenSchema(4)
   Do Until rstSchema1.EOF
   Response.Write "<BR>Table name : " & rstSchema1("TABLE_NAME") _
& vbCrLf & ", Column Name : " & rstSchema1("COLUMN_NAME") & vbCrLf
   rstSchema1.MoveNext
   Loop
   rstSchema1.Close
conn.Close
%>
0
Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

 
LVL 2

Expert Comment

by:AccessHelpNet
ID: 6416051
jitjanguy is right and should get points, however he neglected to put in his code the statement I think you are most interested in:

Response.write rstSchema1("DESCRIPTION")

As far as I have seen this only works in Access.  Populating the DESCRIPTION is optional for OLEDB providers, however, both OLEDB for ODBC and native JETOLEDB drivers seem to support it just fine.

regards,

Dave Kawliche
http://AccessHelp.net
http://1ClickDB.com
0
 
LVL 3

Author Comment

by:SuperMario
ID: 6423610
Thanks Access...
That's precisely what I need.

Who do you guys think deserves the points?

-Dan
0
 
LVL 2

Expert Comment

by:AccessHelpNet
ID: 6423635
My vote is for jitganguly

regards,

Dave Kawliche
http://AccessHelp.net
http://1ClickDB.com
0
 
LVL 20

Accepted Solution

by:
jitganguly earned 50 total points
ID: 6423653
Yes, I deserve points here :-)
0
 
LVL 33

Expert Comment

by:hongjun
ID: 8630943
AccessHelpNet or robbert, how about the "Caption"? I can't get the caption. "COLUMN_NAME" gives me the column name and not the caption. I found this question using search.

hongjun
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

I would like to start this tip/trick by saying Thank You, to all who said that this could not be done, as it forced me to make sure that it could be accomplished. :) To start, I want to make sure everyone understands the importance of utilizing p…
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…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

760 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

19 Experts available now in Live!

Get 1:1 Help Now