在下面的代码中,当我关闭电子邮件记录集时,我收到错误
关闭对象时不允许操作
...为什么我需要关闭Leagues RecordSet(在SELECT之后)而不是Emails RecordSet(在更新之后)?!?
Call ConnectToDatabase
SQLstr = "SELECT [Id],[Name],[Session] From [Leagues] "
SQLstr = SQLstr & "WHERE Leagues.[Name] = '" & UCase(KAleague) & "';"
KA_RS_Leagues.Open SQLstr, KA_DB, adOpenDynamic, adLockOptimistic
SQLstr = "UPDATE Emails SET FixtureList = 1 "
SQLstr = SQLstr & "WHERE Emails.League = '" & KA_RS_Leagues!ID & "';"
KA_RS_Emails.Open SQLstr, KA_DB, adOpenDynamic, adLockOptimistic
KA_RS_Leagues.Close
KA_RS_Emails.Close <<< Error occurs here
答案 0 :(得分:1)
UPDATE
不返回任何结果集,per the documentation:
使用
Source
的{{1}}参数不是一个好主意 执行不返回记录的操作查询的方法,因为 没有简单的方法来确定呼叫是否成功。该 此类查询返回的Open
将被关闭。执行一个 不返回记录的查询,例如SQLRecordset
语句, 调用INSERT
对象的Execute
方法或Command
相反,Execute
对象的方法。