ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Counting Access recordset to import to Excel using ADO (https://www.excelbanter.com/excel-programming/423344-counting-access-recordset-import-excel-using-ado.html)

Spike

Counting Access recordset to import to Excel using ADO
 
I will be grateful if someone will give me the code to determine if when
importing data using ADO from say Access toExcel if a recordset is greater
than 65,536 rows. i appreciate this is not an issue with Excel 2007
--
with kind regards

Spike

J

Counting Access recordset to import to Excel using ADO
 
Why not just use the 'TOP' predicate regardless??

"Select top 65000 [x] From [y]..."

Note that TOP requires an ORDER BY clause or you'll just get abitary
records.

It's not an issue if less than the specified number of records are
returned, but you will not get any more than you want

Simplistic answer - there are other issues like keeping track of where
you are if you need to import the remainder into another sheet.

Other than that, the recordset will have a RECORDCOUNT property, but not
sure if this accurately reflects the record count just after opening.
Remember DAO where you had to navigate to the lst record before you
could get an an accurate count? I'm sure a quick google should clear
that question up ...

J

Spike:
I will be grateful if someone will give me the code to determine if

when
importing data using ADO from say Access toExcel if a recordset is

greater
than 65,536 rows. i appreciate this is not an issue with Excel 2007
--
with kind regards

Spike


Spike

Counting Access recordset to import to Excel using ADO
 
thank you for that, much appreciated. i think i need to play around with it
a bit more. I thought there would be a simple answer so if you found you had
say 250K records so you could import the first say 65K to on e sheet and so
on till they were all imported but it is obviously not as simple as that!
--
with kind regards

Spike


"J" wrote:

Why not just use the 'TOP' predicate regardless??

"Select top 65000 [x] From [y]..."

Note that TOP requires an ORDER BY clause or you'll just get abitary
records.

It's not an issue if less than the specified number of records are
returned, but you will not get any more than you want

Simplistic answer - there are other issues like keeping track of where
you are if you need to import the remainder into another sheet.

Other than that, the recordset will have a RECORDCOUNT property, but not
sure if this accurately reflects the record count just after opening.
Remember DAO where you had to navigate to the lst record before you
could get an an accurate count? I'm sure a quick google should clear
that question up ...

J

Spike:
I will be grateful if someone will give me the code to determine if

when
importing data using ADO from say Access toExcel if a recordset is

greater
than 65,536 rows. i appreciate this is not an issue with Excel 2007
--
with kind regards

Spike



Spike

Counting Access recordset to import to Excel using ADO
 
think i have answered my own question, if you set the cursor to either
adOpenKeyset of adOpenStatic then you do get a return using "recordcount"
--
with kind regards

Spike


"J" wrote:

Why not just use the 'TOP' predicate regardless??

"Select top 65000 [x] From [y]..."

Note that TOP requires an ORDER BY clause or you'll just get abitary
records.

It's not an issue if less than the specified number of records are
returned, but you will not get any more than you want

Simplistic answer - there are other issues like keeping track of where
you are if you need to import the remainder into another sheet.

Other than that, the recordset will have a RECORDCOUNT property, but not
sure if this accurately reflects the record count just after opening.
Remember DAO where you had to navigate to the lst record before you
could get an an accurate count? I'm sure a quick google should clear
that question up ...

J

Spike:
I will be grateful if someone will give me the code to determine if

when
importing data using ADO from say Access toExcel if a recordset is

greater
than 65,536 rows. i appreciate this is not an issue with Excel 2007
--
with kind regards

Spike



J

Counting Access recordset to import to Excel using ADO
 
Sorry for the infrequent replies, I'm not around here much.

If you still have issues with this, have a look at the COPYFROMRECORDSET
method of the RANGE object in Excel.

Basically:

Range("A2").CopyFromRecordset rs

This also has an option to limit the number of rows to copy (and columns
if you're interested)

Move to the next sheet. Set the record pointer of the recordset to the
first record to copy and repeat the COPYFROMRECORDSET

Repeat as necessary.

I think that should solve your problem...

J


Spike:
thank you for that, much appreciated. i think i need to play around

with it
a bit more. I thought there would be a simple answer so if you found

you had
say 250K records so you could import the first say 65K to on e sheet

and so
on till they were all imported but it is obviously not as simple as

that!
--
with kind regards

Spike


"J" wrote:

Why not just use the 'TOP' predicate regardless??

"Select top 65000 [x] From [y]..."

Note that TOP requires an ORDER BY clause or you'll just get abitary
records.

It's not an issue if less than the specified number of records are
returned, but you will not get any more than you want

Simplistic answer - there are other issues like keeping track of

where
you are if you need to import the remainder into another sheet.

Other than that, the recordset will have a RECORDCOUNT property, but

not
sure if this accurately reflects the record count just after

opening.
Remember DAO where you had to navigate to the lst record before you
could get an an accurate count? I'm sure a quick google should clear
that question up ...

J

Spike:
I will be grateful if someone will give me the code to determine

if
when
importing data using ADO from say Access toExcel if a recordset is

greater
than 65,536 rows. i appreciate this is not an issue with Excel

2007
--
with kind regards

Spike



J

Counting Access recordset to import to Excel using ADO
 
Spike,

If this is still an issue, posted more comments on Feb 8th @
21:00hrs... somehow or another is ended up in a seperate thead...

J


Spike:
think i have answered my own question, if you set the cursor to either


adOpenKeyset of adOpenStatic then you do get a return using

"recordcount"
--
with kind regards

Spike


"J" wrote:

Why not just use the 'TOP' predicate regardless??

"Select top 65000 [x] From [y]..."

Note that TOP requires an ORDER BY clause or you'll just get abitary
records.

It's not an issue if less than the specified number of records are
returned, but you will not get any more than you want

Simplistic answer - there are other issues like keeping track of

where
you are if you need to import the remainder into another sheet.

Other than that, the recordset will have a RECORDCOUNT property, but

not
sure if this accurately reflects the record count just after

opening.
Remember DAO where you had to navigate to the lst record before you
could get an an accurate count? I'm sure a quick google should clear
that question up ...

J

Spike:
I will be grateful if someone will give me the code to determine

if
when
importing data using ADO from say Access toExcel if a recordset is

greater
than 65,536 rows. i appreciate this is not an issue with Excel

2007
--
with kind regards

Spike




All times are GMT +1. The time now is 02:40 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com