Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 15
Default How do I retrieve the column names in a ADODB recordset from MS SQ

The following is a code chunk that I am using to retrieve a recordset from an
MS SQL Server using a function that I created on the server. The function
returns the records fine, but it doesn't return the column headers.

I would like to use the information to create/update a pivot table directly,
without having to paste the data to the spreadsheet via the copyfromrecordset
method.

Any ideas of what I'm missing.

Thanks in advance.

Mark

Set Cnxn = New ADODB.Connection
Cnxn.ConnectionTimeout = 0
Cnxn.Open strCnxn

'SQL to call from db
Set rs = New ADODB.Recordset
strSQL = "SELECT ClientID, Client, [Desc], Tool, Amount FROM
dbo.fnMyFunction('" _
& Format(DateValue(dtStart), "mm/dd/yyyy") & "','" _
& Format(DateValue(dtEnd), "mm/dd/yyyy") & "')"

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 233
Default How do I retrieve the column names in a ADODB recordset from MS SQ

Mark,

you can create a pivottable in code directly on top of your SQL, no
need to get the ADO recordset first.

You can either work through code in one go using a pivottable object,
but I suggest you first create a manual pivottable report, and then use
some code to set the parameters in the sql string, since pivottable
reports do not allow parameters.

The easiest way is as follows:

create a stored proc to wrap all SQL stuff up, XL uses ODBC and can be
picky on some SQL (like table functions!), but stored procs always
work. Start Macro recorder for later VBA code reference and create a
PVtable from external data, and in MS Query use File-execute SQL. Now
select your sp and fill in parameters directly. Run the PV it and stop
the recorder. Look at the SQL property and change that with VBA
according your parameters before each run.

DM Unseen

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,163
Default How do I retrieve the column names in a ADODB recordset from MS SQ

The column headers for an ADO recordset are in the field names, e.g.
rs.Fields(1).Name.

If you want to use this query to populate a pivottable, though, a more
direct way is to use the SourceData property of the pivottable object. You
can use this to specify your SQL connection string and query. From the help
file:

SourceData Property

Returns the data source for the PivotTable report, as shown in the following
table. Read-only Variant...

External data source: An array. Each row consists of an SQL connection
string with the remaining elements as the query string, broken down into
255-character segments.

"MChrist" wrote:

The following is a code chunk that I am using to retrieve a recordset from an
MS SQL Server using a function that I created on the server. The function
returns the records fine, but it doesn't return the column headers.

I would like to use the information to create/update a pivot table directly,
without having to paste the data to the spreadsheet via the copyfromrecordset
method.

Any ideas of what I'm missing.

Thanks in advance.

Mark

Set Cnxn = New ADODB.Connection
Cnxn.ConnectionTimeout = 0
Cnxn.Open strCnxn

'SQL to call from db
Set rs = New ADODB.Recordset
strSQL = "SELECT ClientID, Client, [Desc], Tool, Amount FROM
dbo.fnMyFunction('" _
& Format(DateValue(dtStart), "mm/dd/yyyy") & "','" _
& Format(DateValue(dtEnd), "mm/dd/yyyy") & "')"

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Delete ADODB Recordset Jim Thomlinson[_3_] Excel Programming 2 January 12th 05 04:16 AM
ADODB Recordset problem Stefen Percoco Excel Programming 2 July 26th 04 06:31 PM
0 with ADODB Recordset Stefen Percoco Excel Programming 1 July 8th 04 09:54 PM
adodb.recordset with excel nate axtell Excel Programming 14 June 11th 04 01:32 PM
ADODB Recordset Seth[_3_] Excel Programming 0 August 5th 03 02:15 PM


All times are GMT +1. The time now is 05:48 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"