记录集。记录计数
我在AutoCad中加载了VBA代码。在这段代码中,我连接到一个数据库(access),以将三维多段线中的数据存储在图形中。在这个过程中,我想用数据库的第一个和最后一个条目检查新选中的行(这样我就可以将选中的行添加到数据库中存储的行中)。为此,我制作了一个数据库记录集,以确定数据库的大小。这不会像应该的那样工作!!
SQL = "SELECT Nr FROM Polyline"
Set rsline = DB.Execute(SQL)
MsgBox rsline.RecordCount
rsline.MoveLast
rsline。recordCount的值为-1
movelast命令给出了ann错误。自动化错误(错误440)
(这表明只有rsline.movenext可以正常工作。所以我可以用rsline.movenext编写一个循环,直到rsline.eof=true,但这个数据库将非常大,所以我不喜欢这个选项。)
有人能告诉我怎么解决这个问题吗 这一个对我很有用:
Option Compare Database
Option Explicit
Sub test()
Dim rsline As DAO.Recordset
Dim Db As DAO.Database
Set Db = CurrentDb
Dim SQL As String
SQL = "SELECT Nr FROM Polyline"
Set rsline = Db.OpenRecordset(SQL)
MsgBox "Number of records are: " & rsline.RecordCount
rsline.MoveLast
MsgBox "Polyline number is: " & rsline!Nr
' close and clean up 'rsline' and 'Db' here if you need it
End Sub
~'J'~ 问题是我使用了一个ADO数据库而不是DAO,现在我改变了,问题消失了。谢谢你的建议 我很高兴你解决了一个问题
干杯
~'J'~
页:
[1]