MS Access 2003中 - 问题有关从绑定的形式将信息传递给报告
-
20-09-2019 - |
题
我使用类似下面从一个未结合的形式传递信息到另一个(借口没有错误检查):
Sub Button_Click()
Dim db as DAO.database
Dim rs as DAO.recordset
Dim sql as string
docmd.openform "NextFormIamAbouttoUse"
sql = "SELECT * FROM tblMain WHERE MainID = " & Me.As_MainID & ";"
' usually debug here
set db = currentdb
set rs = db.openrecordset(sql)
if rs.eof then
msgbox "oops message"
else
rs.movefirst
[Forms]![NextFormIamAbouttoUse].as_mainID = rs![MainID]
[forms]![NextFormIamAbouttoUse].value1 = rs![value1]
' etc
rs.close
set db = nothing
set rs = nothing
sql = ""
end if
'error stuff
end sub
行,所以我可以用这种东西从形式传递信息报道呢?看到我用了很多的充满文本框仪表盘,在文本框中起不到任何入境目的的形式,而宁愿显示快捷的信息。
用户通过不同形式的导航来构建的“仪表板状”形式自己的喜好,然后在某一时刻要打印。所以我想建立查找一个样(在所提供的数据),在每个点报告,以便他们可以打印的,他们通过这些形式建立在信息的页面。
,所以我试图与一个报告做到这一点:
Sub Button_Click()
Dim db as DAO.database
Dim rs as DAO.recordset
Dim sql as string
docmd.openreport "ReportTester", acViewPreview
sql = "SELECT * FROM tblMain WHERE MainID = " & Me.As_MainID & ";"
' usually debug here
set db = currentdb
set rs = db.openrecordset(sql)
if rs.eof then
msgbox "oops message"
else
rs.movefirst
[reports]![ReportTester].as_mainID = rs![MainID]
[reports]![ReportTester].value1 = rs![value1]
' etc
rs.close
set db = nothing
set rs = nothing
sql = ""
end if
'error stuff
end sub
只是作为一种猜测,并没有奏效。没有错误,或任何东西。只是将不显示任何信息,这种方式。甚至不会通过的ID号。
所以我想,在打开的AcViewPreview报告意味着我不能在事后这些文本框添加信息,但我仅仅指刚不能肯定。因此,在这个任何意见是非常赞赏。谢谢!
解决方案
您有几种选择。您可以创建一个查询,并通过表单控件的值到那里的价值,从而创造了1个记录查询,你可以在你的基础报告。
每个列将看起来像这样:数据:!表格[MyForm的] [MyControl] 强>
您也可以直接从形式直接绑定的控件报表控件。
您将需要离开,而该报告被打开,如果你选择这些途径包含值的形式开放。没有复杂的代码需要的。
其他提示
我觉得我失去了一些东西。你为什么不只是有报告的记录源是一样的窗体的记录,然后在运行时过滤到特定MainID在DoCmd.OpenReport的WhereCondition参数?然后你就可以,而不需要有开放的形式运行报告。
除非形式是未结合的,或具有对实时计算昂贵的字段,也看不出任何优势,以报告在所有结合的形式。
不隶属于 StackOverflow