Default recordset type?

  • Thread starter Thread starter ;-\)
  • Start date Start date
;

;-\)

In VBA for Excel 97 the default type of recordset is DOA.

What is the default type on Excel 2000, and XP?


I need to know since I don't want the client to have to install the latest
MDAC to get my Excel modifications to work. (They supplied the originals, I
made modifications, they will maintain them)
 
I think you've got the terminology a little back to front. Common database
access technologies include DAO, RDO, ADO in order of history. The
recordset type is another thing altogether.

DAO is the most mature and flexible. 2.5 is present on everything from 95
to Win 2k. However it's not on XP, or at least it wasn't on a project I was
recently involved with.

So if you're after pinning your colours to a particular technology I'd go
with ADO 2.5. One thing with ADO though is that in order to create
databases and do some other administrative type things you need to use ADOX
which is another component. Not sure about the availability of this client
side. DAO let you do everything in one place. In an attempt to streamline
ADO and make it less bulky Microsoft removed these kind of features from
ADO.

--

Regards,


Bill Lunney
www.billlunney.com
 
Thanks for the reply, I guess I left off some details of my situation.

My clients creates the Excel sheets without any database parts. Their
current versions are Win 2K, with Office 2K.

I have Win XP pro and Office XP. I only create a callable function inside
their Excel sheets that allows me to pass an ADO recordset between their
Excel sheets and my VB 6.0 application. (I give them an almost blank
recordset, and their Excel code just fills in the blanks).

Public Function getRs(ByRef rs As Object) As Object

is the function definition I use inside of the Excel VBA. I don't have to
do anything different than this. BUT I would prefer to not have to use the
"Object" qualifier since this limits their/my use of help functions inside
Excel. I do use some properties like .definedSize which would not be
obvious to them when I turn maintenance over to them.

I got it to work by referencing the rs as and ADO object, but their only
engineer smart enough to know how to install the latest MDAC to make it work
on his computer left the company.


SO would

Public Function getRs(ByRef rs As Recordset) As Recordset

work on their system with out them having to install anything with the ADO
recordset I pass??
 
;-) said:
Thanks for the reply, I guess I left off some details of my situation.

My clients creates the Excel sheets without any database parts. Their
current versions are Win 2K, with Office 2K.

I have Win XP pro and Office XP. I only create a callable function inside
their Excel sheets that allows me to pass an ADO recordset between their
Excel sheets and my VB 6.0 application. (I give them an almost blank
recordset, and their Excel code just fills in the blanks).

Public Function getRs(ByRef rs As Object) As Object

is the function definition I use inside of the Excel VBA. I don't have to
do anything different than this. BUT I would prefer to not have to use the
"Object" qualifier since this limits their/my use of help functions inside
Excel. I do use some properties like .definedSize which would not be
obvious to them when I turn maintenance over to them.

I got it to work by referencing the rs as and ADO object, but their only
engineer smart enough to know how to install the latest MDAC to make it work
on his computer left the company.


SO would

Public Function getRs(ByRef rs As Recordset) As Recordset

work on their system with out them having to install anything with the ADO
recordset I pass??

They will need MDAC since that installation contains the ADO object
definitions
however so many core programs use MDAC these days (including Internet
explorer IRC) that its probable its already installed.

If it isnt installing MDAC is a trivial task. The only complication is that
they may have to set the references from their Excel Workbooks
if it wasnt already installed.

Keith
 
Back
Top