Delphi ADO with Excel 2010 or newer, problems with

2020-08-05 11:00发布

问题:

I have a case here where I use excel files connected with ADO, it seems OK with excel 2003 files, however when I use excel 2007 or newer I get some problems receiving recordcount..

my connection string look like this for excel 2003 :

format('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Extended Properties=Excel 8.0;',[filename])

and the same connectionstring for excel 2007 or newer (xlsx files)

format('Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%s;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1"',[filename])

do I need something more here? or what am I missing to be allowed to use the recordcount, recno etc etc?

回答1:

Have a look at this article: http://www.slxdeveloper.com/page.aspx?action=viewarticle&articleid=33

Basically you need to set the CursorType to something other than ctOpenForwardOnly.