我正在尝试根据每个查询创建一个报告 创建/更新我的数据库 我将报告附加到带有宏的按钮, 问题是,如果没有任何改变,有人只是按下按钮报告将被解雇,但没有数据,如果数据被插入文本框,我按下按钮与宏宏,数据不会附加到数据库。
我的宏观线:
OnError Next,
OpenReport Accept, Report, , , Normal // Accept is the name of the report
GoToRecord Next,
[MacroError]<>0 =[MacroError].[Description], Yes, None,
提前感谢您的帮助
答案 0 :(得分:0)
测试和跟踪此方法的一种好方法是在查询中使用的其中一个表中添加一个名为“flgReported”的“是/否”字段,然后在运行报表后,您可以将所有行更新为真正。之后添加的任何新行都将为false,您可以将其添加到您的select查询中以仅报告False行,这也可以让您测试在执行前面单击按钮时是否有任何数据要返回并运行报告。
更新:如果您突出显示有问题的宏,然后转到“工具&gt;宏&gt;将宏转换为Visual Basic”,然后单击“转换”它将为您生成VB代码。然后可以从您的按钮而不是宏调用它,在主程序之前,您可以插入它以检查是否有任何新记录:
Private Sub ButtonClick() "For Example"
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("SELECT * FROM queryname where flgReported = False")
If rs.BOF And rs.EOF then 'No Records to report so we quit at this point
rs.close
set rs = Nothing
Exit Sub
End If
'Remainder of Macro Code goes here
'Then run a simple SQL here to update the flags to True
End Sub