Solved

CopyFromRecordset unable to handle fields with null

Posted on 2008-10-01
3
794 Views
Last Modified: 2013-11-29
Method 'CopyFromRecrodset' of ojbect 'Range' failed.  If I remove fields containing null values, this code works.  The data recordset can and will have fields with a null values is there a workaround?  I really need a quick method to export a large recordset to Excel.

   
CellCnt = 1

        For Each fld In rs.Fields

               xlSheet.Cells(1, CellCnt).Value = fld.Name

               xlSheet.Cells(1, CellCnt).Interior.ColorIndex = 33

               xlSheet.Cells(1, CellCnt).Font.Bold = True

               xlSheet.Cells(1, CellCnt).BorderAround xlContinuous

               CellCnt = CellCnt + 1

        Next fld

    

        rs.MoveFirst

        xlSheet.Cells(2, 1).CopyFromRecordset rs

        DoEvents
 

    ' Auto fit columns.

        xlSheet.Cells.EntireColumn.AutoFit

        xlSheet.Cells.Select

        xlSheet.Cells.AutoFilter

Open in new window

0
Comment
Question by:tipvernonia
  • 2
3 Comments
 
LVL 119

Expert Comment

by:Rey Obrero
ID: 22617476

you will need to individually fill out the cells with the specific  rs.fields value

             xlSheet.Cells(2, 1).value=nz(rs("fieldname"),"")  '< for text field
0
 

Author Comment

by:tipvernonia
ID: 22623877
I already used this method.  I was looking for a faster method.  When there are 10,000 row with 28 columns this method is very slow.  
0
 
LVL 119

Accepted Solution

by:
Rey Obrero earned 500 total points
ID: 22625004
try using the nz function in the query for the field that has null values
use the query for the recordset and use the copyfromrecordset to fill the excel file with values
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

When you are entering numbers in a speadsheet, and don't remember what 6×7 is, you just type “=6*7" instead. It works in every cell! This is not so in Access. To enter the elusive 42 in a text box, you have to find a calculator, and then copy the re…
In the article entitled Working with Objects – Part 1 (http://www.experts-exchange.com/Microsoft/Development/MS_Access/A_4942-Working-with-Objects-Part-1.html), you learned the basics of working with objects, properties, methods, and events. In Work…
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

910 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

21 Experts available now in Live!

Get 1:1 Help Now