【问题标题】:How to select data from subform in access after filtering table by combo boxes通过组合框过滤表后如何从访问中的子表单中选择数据
【发布时间】:2018-02-27 02:59:09
【问题描述】:

这是我的 SQL(我的任务是处理我没有制作表格的数据,我知道它们的名字很糟糕):

SQL = "SELECT [risk - original].IDrisk AS [Risk ID], [risk - original].Riskname AS [Risk Name], [risk - original].Description, " & _
"[risk - original].Category, [risk - original].InitialProbability AS [Probability], [risk - original].InitialSeverity AS [Severity], " & _
"[risk - original].InitialProbability * [risk - original].InitialSeverity AS [Risk Score], [risk - original].RootCause AS [Root Cause] " & _
"FROM [risk - original] " & _
"WHERE ([InitialSeverity] = " & Me.cboSeverity & ") OR ([InitialProbability] = " & Me.cboProbability & ") OR ([Category] = '" & Me.cboRiskCategory & "'))"

我可以只使用单个组合框的条件使此代码与 WHERE 子句一起使用,但是当我尝试添加所有组合框字段时,代码失败,现在组合框被编程为(例如):

Dim mySeverity As String
mySeverity = "Select * from [risk - original] where ([InitialSeverity] = " & Me.cboSeverity & ")"
Me.riskOriginalSubform.Form.RecordSource = mySeverity
Me.riskOriginalSubform.Form.Requery
Me.cboRiskCategory = Null
Me.cboProbability = Null

以后希望能通过多个组合框排序,然后从子窗体中选择数据,最后导出到excel中。

谢谢!

【问题讨论】:

  • 没有引用子表单,因为它只反映了原始 [risk - original] 表

标签: mysql ms-access combobox vba


【解决方案1】:

这是一个通用的答案:

vbSql = "SELECT stuff " & _
        "FROM tbl " & _
        "WHERE (cmb.value = condition "

If cmb.value = condition Then
    vbSql = vbSql & "AND moreSqlconditions"
End If

vbSql = vbSql & ");"

Me.subForm.Form.RecordSource = vbSql

希望这可行吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    • 1970-01-01
    • 1970-01-01
    • 2022-06-11
    • 1970-01-01
    • 2019-05-09
    • 2020-10-31
    相关资源
    最近更新 更多