vba从sql serverlogging集中获取值
我的代码来检索值如下所示:
Sub UploadData() Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset Dim cn As ADODB.Connection Set cn = New ADODB.Connection Dim strConn As String Dim sql As String strConn = "PROVIDER=SQLOLEDB;DATA SOURCE=.\sql2000;INITIAL CATALOG=EquityDB;INTEGRATED SECURITY=sspi;" cn.Open strConn sql = "select * from EquityDB.dbo.table1 where field1 = '" & Replace(Range("d1").Value, "'", "''") & "'" rs.Open sql, cn, adOpenDynamic, adLockOptimistic GetData = rs.Fields(0).Value If Not GetData = "" Then cn.Execute sql001 Else cn.Execute sql002 End If
sql001是一个插入,而sql002是一个更新
当我运行macros,我得到错误,说当logging打开的行不允许操作
rs.Open sql, cn, adOpenDynamic, adLockOptimistic
如果我改变了
If Not GetData = "" Then
至
If Not GetData Is Null Then
我得到错误说“对象需要”的线
If Not GetData Is Null Then
任何关于如何修复这个bug的build议都会很棒!
要testing是否有任何内容返回到您的logging集中,而不是:
GetData = rs.Fields(0).Value If Not GetData = "" Then
使用:
If not(rs.eof and rs.bof) then
如果logging集不是空的,这将返回true。