我得到了一个"自动化错误"在rstLgn_details.Open SqlCmd
这是守则。
Call ConnectSS_Param(ThisWorkbook.FullName)
Set rstLgn_details = CreateObject("ADODB.Recordset")
Set SqlCmd = CreateObject("ADODB.Command")
Set SqlparamUserID = SqlCmd.CreateParameter("@UserID", 129, 1, 52, txtUsername.Value)
StrSql = "SELECT Capabilityname,SLAA_EID FORM $Login_Details WHERE SLAA_EID=@UserID"
SqlCmd.ActiveConnection = conndb
SqlCmd.CommandText = StrSql
SqlCmd.Parameters.Append SqlparamUserID
rstLgn_details.Open SqlCmd
If rstLgn_details.RecordCount > 0 Then
UserName = rstLgn_details(1)
CapHlded = rstLgn_details(0)
ThisWorkbook.Sheets("Serach").Select
Else
MsgBox "Sorry You are Not Authorized for this..... ", vbInformation + vbOKOnly, "Invaild User"
End If
答案 0 :(得分:0)
重新连接到Excel工作簿时,原始文件将关闭,并且设置为原始文件的所有引用都将不再有效。当您尝试使用其中一个无效引用时,您将获得Automation Error
。
以下是Automation Error Using Excel Object in Visual Basic Procedure
的施法在Microsoft Excel关闭时,在Visual Basic过程中访问Microsoft Excel OLE自动化对象时,会发生此问题。例如,如果使用CreateObject函数为工作表对象创建引用,并使用过程中的GetObject函数为另一个Microsoft Excel对象创建引用,则设置Microsoft Excel工作表对象(Excel.Sheet)等于什么都没有,如果您尝试访问其他对象,则会收到OLE自动化错误消息。