Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql ';记录集';根据';新';或';CreateObject';_Sql_Vba_Excel_Ado - Fatal编程技术网

Sql ';记录集';根据';新';或';CreateObject';

Sql ';记录集';根据';新';或';CreateObject';,sql,vba,excel,ado,Sql,Vba,Excel,Ado,在[new ADODB.recordset]创建的记录集上[rs.RecordCount]不起作用。 但它可以在[CreateObject(“ADODB.recordset”)]创建的记录集上使用[rs.RecordCount] 顺便说一句,它在[CreateObject(“ADODB.recordset”)]生成的记录集上[rs.fields([integer])也不起作用。 但是它可以在[new ADODB.recordset]创建的记录集上的[rs.fields([integer])上工作

在[new ADODB.recordset]创建的记录集上[rs.RecordCount]不起作用。 但它可以在[CreateObject(“ADODB.recordset”)]创建的记录集上使用[rs.RecordCount]

顺便说一句,它在[CreateObject(“ADODB.recordset”)]生成的记录集上[rs.fields([integer])也不起作用。 但是它可以在[new ADODB.recordset]创建的记录集上的[rs.fields([integer])上工作

如何在一个记录集中使用两个源([rs.fields([integer])和[rs.RecordCount])

Sub all_列()
呼叫连接数据库
作为字符串的Dim strSql
作为字符串的Dim语法
暗淡的记录受影响的时间越长越好
表的名称为字符串
Dim numberOfRecord为整数
Dim i,下一个i作为整数
Set rsTable=CreateObject(“ADODB.Recordset”)
rsTable.CursorLocation=adUseClient
'这是查询'
strSql=“显示表格”
'通过[CreateObject(“ADODB.recordset”)]设置记录集'
'仅用于返回[RecordCount]'
'因为[.RecordCount]无法在[new ADODB.Recordset]上工作'
Set rs=CreateObject(“ADODB.Recordset”)
rs.CursorLocation=adUseClient
rs.开放式strSql、cn、adOpenStatic
numberOfRecord=rs.RecordCount
rs.Close
'按[New ADODB.recordset]设置记录集'
'因为[.Fields(0)]在[CreateObject(“ADODB.Recordset”)]上不起作用'
Set rs=New ADODB.Recordset
rs.开放式strSql、cn、adOpenStatic
i=2
当rs.EOF=False时执行
nameOfTable=rs.Fields(0).Value
strSql=“DESC”+nameOfTable+”
rsTable.打开strSql、cn、adLockReadOnly
next_i=i+rsTable.RecordCount
表(“表1”)。范围(“b”+CStr(i))。复制自记录集rsTable
图纸(“图纸1”)。范围(“a”+CStr(i)+”:a“+CStr(下一个i-1))。值=表格名称
i=下一个
好的,关门
下一个
环
rs.Close
cn.Close
端接头
ADO=Microsoft Active X数据对象6.1库

SQL=5.7.14-google-log(谷歌)

EXCEL=Microsoft EXCEL 2016 MSO(16.0.10228.20080)


在任何后期绑定的CreateObject中,可用的属性和方法都是有限的。我可以给您举几个例子,说明脚本。字典对象是后期绑定创建的,而不是带有MS脚本运行时项目引用的新的早期绑定版本。这些限制通常可以解决,但如果您想要完整的功能,请使用带有引用的早期绑定。@Jeeped因此,如果我使用早期绑定,那么我可以使用这两个源?如果我没记错的话,rs.RecordCount的有效性与您正在检索的记录集的类型有关;e、 动态设置、静态等。对于一些,您需要先转到最后一个,然后再转到第一个,以获得准确的计数。谷歌rs.RecordCount了解详情。@Jeped我同意-我过去曾多次与之斗争。