Delphi ADO与Excel 2010或更新版本,存在.RecordCount问题

Delphi ADO与Excel 2010或更新版本,存在.RecordCount问题,delphi,excel,ado,delphi-xe,vba,Delphi,Excel,Ado,Delphi Xe,Vba,我这里有一个例子,我使用与ADO连接的excel文件,excel 2003文件似乎没有问题,但是当我使用excel 2007或更新版本时,我在接收recordcount时遇到一些问题 对于excel 2003,我的连接字符串如下所示: format('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Extended Properties=Excel 8.0;',[filename]) excel 2007或更新版本(xlsx文件)的相同连接字符串

我这里有一个例子,我使用与ADO连接的excel文件,excel 2003文件似乎没有问题,但是当我使用excel 2007或更新版本时,我在接收recordcount时遇到一些问题

对于excel 2003,我的连接字符串如下所示:

format('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Extended Properties=Excel 8.0;',[filename])
excel 2007或更新版本(xlsx文件)的相同连接字符串


我需要更多的东西吗?或者说,允许我使用recordcount、recno等,我还缺少什么呢?

看看这篇文章:


基本上,您需要将
CursorType
设置为除
ctOpenForwardOnly
之外的其他内容

看看这篇文章:


基本上,您需要将
CursorType
设置为除
ctOpenForwardOnly
之外的其他内容

告诉我们确切的错误消息如何?如果
RecordCount
返回0或-1,那么该行为并非意外。如果这是一个错误,那么,像大卫一样,我很想看到这个错误。正如大卫和伊恩所说,“我遇到了一些问题”,并没有提供任何我们可以用来帮助的信息。如果您有问题,您需要告诉我们问题是什么,如果您有错误,您需要提供准确的错误消息。是的,正如lan提到的,我得到-1作为RecordCount,告诉我们准确的错误消息如何?如果
RecordCount
返回0或-1,那么该行为不会意外。如果这是一个错误,那么,像大卫一样,我很想看到这个错误。正如大卫和伊恩所说,“我遇到了一些问题”,并没有提供任何我们可以用来帮助的信息。如果您有问题,您需要告诉我们问题是什么,如果您有错误,您需要提供准确的错误消息。是的,正如lan提到的,我得到-1作为RecordCount刚刚重新安装Delphi XE,因此将尽快测试此问题必须重新安装Delphi XE,因此将尽快测试此问题
format('Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%s;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1"',[filename])