【问题标题】:MS Access VBA QueryDef - With Block variable not set errorMS Access VBA QueryDef - 未设置块变量错误
【发布时间】:2014-10-01 10:06:03
【问题描述】:

使用 QueryDef 时,我收到以下错误“对象 变量或未设置块变量”。当我将 strSQL 的输出复制到新查询时,它工作正常。请协助解决此错误。

运行以下行时出现错误;

Set qryDef = dbs.CreateQueryDef(strQueryName, strSQL)

查看下面的完整代码

Private Sub ComboReclassify_AfterUpdate()

Dim dbs As Database
Dim strSQL As String
Dim strQueryName As String
Dim qryDef As QueryDef

strQueryName = "qryST_ReclassifyAttribute"

Dim attr As String
Dim ValueID As Integer
attr = [Forms]![frm_tblST_AttributesReclassification]![ComboItemAttributes]
ValueID = [Forms]![frm_tblST_AttributesReclassification]![ComboReclassify]

strSQL = "UPDATE dbo_tblST_DepartmentsAttributes SET  " & (attr) & " = " & ValueID & " WHERE dbo_tblST_DepartmentsAttributes.id = 1"

Set qryDef = dbs.CreateQueryDef(strQueryName, strSQL)

DoCmd.OpenQuery "qryST_ReclassifyAttribute"

End Sub

【问题讨论】:

    标签: vba ms-access-2010


    【解决方案1】:

    您似乎错过了设置 dbs 对象。

    Private Sub ComboReclassify_AfterUpdate()
        Dim dbs As Database
        Dim strSQL As String
        Dim strQueryName As String
        Dim qryDef As QueryDef
    
        strQueryName = "qryST_ReclassifyAttribute"
    
        Dim attr As String
        Dim ValueID As Integer
        attr = [Forms]![frm_tblST_AttributesReclassification]![ComboItemAttributes]
        ValueID = [Forms]![frm_tblST_AttributesReclassification]![ComboReclassify]
    
        strSQL = "UPDATE dbo_tblST_DepartmentsAttributes SET  " & (attr) & " = " & ValueID & " WHERE dbo_tblST_DepartmentsAttributes.id = 1"
    
        'You have not set the dbs object. That is the problem
        Set dbs = CurrentDB
        Set qryDef = dbs.CreateQueryDef(strQueryName, strSQL)
    
        DoCmd.OpenQuery "qryST_ReclassifyAttribute"
    End Sub
    

    一旦你设置它。它应该正常工作!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      相关资源
      最近更新 更多