Sql 如何在MS Access VBA中筛选3个文本框,然后根据它们运行报告
我有3个组合框:Sql 如何在MS Access VBA中筛选3个文本框,然后根据它们运行报告,sql,ms-access,report,vba7,Sql,Ms Access,Report,Vba7,我有3个组合框: 公司-cboCOMP-tblCOMPANY 类别-cboCAT-TBL类别 机队编号-cboFLT-tblFLEET\U编号 然后,这些(1和2)通过cboCOMP和tblFLEET_设置的行源进行排序(标准) 我已经设置了每个组合框,以便它们相互过滤,但只有在cboCOMP选择了一个值的情况下,才能够根据cboCOMP找出如何进行过滤 基本上,我希望组合框(1、2和3)在下拉列表中显示它们各自的完整选项列表,即使cboCOMP没有选择值,但我希望组合框根据每个单独的组合框进行
Private Sub btnRUN_Click()
Dim vcomp As String
Dim vcat As String
Dim vflt As String
Dim filter As String
If Me.cboCOMP.Value <> "" Then
vcomp = "'" & Me.cboCOMP.Value & "'"
' MsgBox vcomp
filter = "COMPANY =" & vcomp & ""
' MsgBox filter
End If
'NEW IF STATEMENT
If Me.cboCAT.Value <> "" Then
vcat = "'" & Me.cboCAT.Value & "'"
If filter <> "" Then
filter = filter & " and "
' MsgBox filter
End If
filter = filter & "CATEGORY =" & vcat & ""
' MsgBox filter
End If
'NEW IF STATEMENT
If Me.cboFLT.Value <> "" Then
vflt = "'" & Me.cboFLT.Value & "'"
If filter <> "" Then
filter = filter & " and "
' MsgBox filter
End If
filter = filter & "FLEET NO =" & vflt & ""
' MsgBox filter
End If
DoCmd.OpenReport "rptQuick_Fuel_Report", acViewPreview, , filter
DoCmd.Close acForm, "Quick Fuel Lookup", acSaveNo
End Sub
Private Sub btnRUN\u Click()
作为字符串的Dim vcomp
将vcat设置为字符串
将vflt设置为字符串
将筛选器设置为字符串
如果Me.cboCOMP.Value为“”,则
vcomp=“”&Me.cboCOMP.Value&“”
'MsgBox vcomp
filter=“COMPANY=”&vcomp&“
'MsgBox筛选器
如果结束
'新的IF语句
如果Me.cbocate.Value为“”,则
vcat=“”&Me.cbocate.Value&“”
如果过滤器为“”,则
过滤器=过滤器&“和”
'MsgBox筛选器
如果结束
filter=filter&“CATEGORY=“&vcat&”
'MsgBox筛选器
如果结束
'新的IF语句
如果Me.cboFLT.Value为“”,则
vflt=“”&Me.cboFLT.Value&“”
如果过滤器为“”,则
过滤器=过滤器&“和”
'MsgBox筛选器
如果结束
filter=filter&“震源组编号=&vflt&”
'MsgBox筛选器
如果结束
DoCmd.OpenReport“rptQuick_Fuel_Report”,acViewPreview,过滤器
DoCmd.关闭acForm,“快速燃料查找”,acSaveNo
端接头
错误代码为“
运行时错误“3705”:查询中出现语法错误(缺少运算符)
表达式'COMPANY='JB'和CATEGORY='SOAP'和FLEET NO='Q
16''
单击“调试”时,代码中的错误行为:DoCmd.OpenReport“rptQuick\u Fuel\u Report”,acViewPreview,filter
字段震源组编号有空格。带有空格或标点/特殊字符的对象名称必须包含在[]中:[震源组编号]。建议不要在命名约定中使用这些功能。–昨天6月7日字段震源组编号有空格。带有空格或标点符号/特殊字符的对象名称必须包含在[]:[震源组编号]
。建议不要在命名约定中使用这些功能。而且,所有大写字母都更难阅读。最好是tblCompany。表名也习惯使用复数:tblCompanies、tblCategories等。OMG!!!我觉得自己像个傻瓜,我真的不敢相信仅仅添加[]对舰队来说,没有让报告起作用!!!非常感谢,你不知道我有多感激!!!关于你对复数和所有大写的其他评论,谢谢你,我现在正在这样做,在引用和区分时似乎更容易一些,再次谢谢你,请大家给出答案在答题表上标出这个问题的答案。我只是白白浪费时间阅读所有这些。