2011-06-16 108 views
0

我必须建立一个MS Access表格,作为会议代表的注册表格。我必须打印一份收据,确认代表的详细信息以及付款和其他详细信息。我想我必须为此做一个报告。所以我做了一个包含必填字段的粗略报告,并在打印报告的表单上放置了一个按钮。当我点击第一条记录时,它会忠实地显示细节。但是,当我导航到第二条记录并执行相同操作时,它再次显示了第一条记录的详细信息。我该怎么办?另外,我如何定制它以模仿收据的格式?像这样:如何在MS Access 2007中创建报告?

“从Mr.Ms。得到感谢,总数为R”。等等等等?

回答

2

您可能已将报表的记录源附加到您用于表单的同一表/查询中。当您打开报告时,您实际上会收到源表/查询中每条记录的收据。

在这种情况下,我会做的是在报表中添加一个过滤器,并筛选记录以显示与当前在表单上显示的记录相同的记录。您可以在打开报告时执行此操作。例如,

docmd.OpenReport "foo", acViewNormal, , "fooID = " & me.fooID 

(注:你可能有明确的报告的参数打开过滤器)

您可以在默认valude建立一个string为未绑定的文本框中显示自定义的线一样, 。

="Text" & "foo" & me.value & "" 

或者您可以在OnFormat事件期间即时设置文本框的值。

或者,您可以将其作为用于向报表提供数据的查询的一部分,并使用绑定文本框。

+0

感谢您的回答! :)但是我是MS Access的初学者,如果你能详细解释你的答案,我会非常感激。对不起,这个:( – CodingInCircles 2011-06-17 05:44:25

+0

我试了你的建议,当我点击打印按钮时,它要求输入参数名称,我该如何避免这种情况?我创建了一个宏:'DoCmd.OpenReport“Report_Name”,acViewPreview ,“Name =”&Name:'当我将它绑定到按钮并单击它时,它向我询问参数值。我该如何避免这种情况? – CodingInCircles 2011-06-17 07:50:36

+0

啊......你必须使用字符串作为ID。通常我们使用一个数字(对用户没有任何意义),在这种情况下,它会更像这个'docmd.OpenReport“foo”,acViewNormal,“fooID ='”&me.fooID&“'” '(字符串需要被撇号包围)。 – BIBD 2011-06-17 15:08:57