我使用类似下面的东西将信息从一个未绑定的表单传递到另一个(请原谅没有错误检查):
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
只是作为一个猜测,它没有工作。没有错误,或任何东西。只是不会以这种方式显示任何信息。甚至不会通过身份证号码。
所以我认为在 AcViewPreview 中打开报告意味着我无法在事后向这些文本框添加信息,但我不确定。因此,非常感谢您对此提出的任何建议。谢谢!