首页 文章

使用LIKE和AND访问VBA SQL语句

提问于
浏览
0

我试图从具有三个字段的表单调用访问查询(QRY_TimecardStatus):周末日期,供应商名称和状态类型(具有多选的列表框) .

因为多 . 需要在VBA中创建选择列表框条件我发现一些效果很好的代码!

Set DB = CurrentDb()
 Set Q = DB.QueryDefs("QRY_TimecardStatus")
 Q.SQL = "Select * From Data Where [Approval Status] In(" & Criteria & ");"

但是,我需要在上面的代码中添加其他两个字段标准 . 手动将SQL输入到Access中的SQL视图时,另外两个条件SQL语句的工作方式如下:

Like "*" & [Forms]![FRM_TimecardStatus]![suppliercb] & "*"
Like "*" & [Forms]![FRM_TimecardStatus]![StartDatetxt] & "*"

有人可以帮助构建必要的VBA来解释所有三个表单字段并执行名为(QRY_TimecardStatus)的查询吗?

1 回答

  • 1

    如果您尝试构建新查询,为什么还需要调用已定义的查询 - 选择其中一个:

    以下应该有效:它将三个语句与 AND 结合起来(你也可以使用 OR ,不确定,你需要什么)并将其包装在 " 中 . 您需要指定要过滤的两个字段 .

    Set DB = CurrentDb()
    Dim rs AS RecordSet
    Set rs = DB.OpenRecordset "Select * From Data Where [Approval Status] In(" & Criteria & ") AND " & _
            "[OtherField] Like ""*" & [Forms]![FRM_TimecardStatus]![suppliercb] & "*"" AND " & _
            "[AnotherField] Like ""*" & [Forms]![FRM_TimecardStatus]![StartDatetxt] & "*"""
    

相关问题