0

我有一个正在开发的美国硬币数据库,从那时起我就一直在努力。

我有一个列出所有硬币的简单表格。表中有一个复选框(是/否),表示我是否拥有那枚硬币。从表中创建查询qUSA

该查询用于生成Form 美国,在表格中可以选择一个UNBOUND ComboBox以列出表格内的硬币的每个面额......例如 1c、5c 等。

从表单中,我创建了一个按钮,该按钮根据选定的组合框面额启动报告。我还创建了另一个按钮来列出收藏中的所有硬币(即当记录在是/否字段中有勾号时)。

这一切都单独工作,但我现在想创建另一个按钮,列出我收藏中的所有 1c。例如。当我想运行关于 1c 硬币的报告但在我的收藏中(即在该字段中打勾)时,我收到类型不匹配错误,或者如果我摆弄代码,它会给我所有 1c 硬币,无论它们是否在我的收藏中或不。

请帮忙。很明显我不擅长VBA!

这是代码:

Private Sub ReportDenomination_Click()
    On Error GoTo Err_ReportDenomination_Click

    Dim stDocName As String

    stDocName = "USA"
    strWhere1 = "[Denomination] = '" & Me.Combo16 & "'"
    strWhere2 = "[Purchased] = " & "Yes"

    DoCmd.OpenReport stDocName, acViewPreview, , strWhere1 And strWhere2

Exit_ReportDenomination_Click:
    Exit Sub

Err_ReportDenomination_Click:
    MsgBox Err.Description
    Resume Exit_ReportDenomination_Click
4

1 回答 1

0

您的DoCmd.OpenReport语句需要一个与 SQL 等效的“WHERE”语句,但您只提供一个按位逻辑的语句 - 尝试将其更改为:

DoCmd.OpenReport stDocName, acViewPreview, , strWhere1 & " AND " & strWhere2
于 2015-03-23T22:15:56.523 回答