首页 文章

访问运行时错误3075

提问于
浏览
-1

我有这个功能,我得到3075运行时错误 . 在这行代码中,我将在之后发布休息 . 我有一个子表单,有3个框可以选择任一选项来获取表单上的数据(品牌,通用,制造商) . 我认为使用我的IF语句将数据恢复到形式有问题,但不确定如何重新编写它 .

错误行是在调试模式下 - Me.tbl_Drug_Master_Date_subform.Form.RecordSource = task

错误消息状态:查询表达式中的语法错误(缺少运算符) '[Brand]=Idaloprine'And[Generic] like '*'And[Manufacturer] like '*'

完整代码:

Function SearchCriteria()
Dim Brandtype, strGeneric, strManufacturer
Dim task, strCriteria As String

If IsNull(Me.cboBrand) Then
    Brandtype = "[BRAND] like '*'"
Else
    Brandtype = "[BRAND] = " & Me.cboBrand & "'"
End If

If IsNull(Me.cboGeneric) Then
    strGeneric = "[Generic] like '*'"
Else
    strGeneric = "[Generic] = " & Me.cboGeneric & "'"
End If

If IsNull(Me.cboManufacturer) Then
    strManufacturer = "[MANUFACTURER] like '*'"
Else
    strManufacturer = "[MANUFACTURER] = " & Me.cboManufacturer & "'"
End If

strCriteria = Brandtype & "And" & strGeneric & "And" & strManufacturer

    task = "Select GENERIC, BRAND,   MASTER_ID, PRODUCT_CATEGORY, MANUFACTURER, HTP_MODEL_QTR, HTP_SELECTION_REASON1, LU.ID, LU.Date_YYYYQX  from [tbl_Drug_Master] DM left outer join tbl_YYYYQX_LU LU on LU.ID = DM.HTP_MODEL_QTR Where " & strCriteria
    Me.tbl_Drug_Master_Date_subform.Form.RecordSource = task
    Me.tbl_Drug_Master_Date_subform.Form.Requery

End Function

2 回答

  • 1

    错误消息状态:查询表达式中的语法错误(缺少运算符)'[Brand] = Idaloprine'And [Generic]如''和[Manufacturer]喜欢''

    如消息所示,您的查询表达式已损坏 . 单引号 ' 用于包含字符串文字 . 因此, '[Brand] = Idaloprine' 是字符串文字,而不是比较 . 你可能想写的是 [Brand] = 'Idaloprine' . 这是字段( [Brand] )和字符串文字( 'Idaloprine' )之间的比较( = ) .

    因此,您的目标是修改代码,使查询表达式读取

    [Brand] = 'Idaloprine' And [Generic] Like '*' And [Manufacturer] Like '*'
    

    修改代码以实现这一目的留下来作为练习 .

  • 1

    两个问题 . 首先,您的报价不匹配:

    Brandtype = "[BRAND] = " & Me.cboBrand & "'"
    

    您在cboBrand的开头缺少单引号 . 所以,如果cboBrand =“可乐”,你会得到什么:

    Brandtype = "[BRAND] = Coke'"
    

    注意缺少开头的单引号?用这样的东西替换它们:

    Brandtype = "[BRAND] = '" & Me.cboBrand & "'"
    

    第二个问题;间距 . 这是你的代码:

    strCriteria = Brandtype & "And" & strGeneric & "And" & strManufacturer
    

    你需要空格,否则它将被解释为一个长字 . 试试这个:

    strCriteria = Brandtype & " And " & strGeneric & " And " & strManufacturer
    

相关问题