使用 vba 在 Access 2010 中使用不同表单的 ID 打开表单
Posted
技术标签:
【中文标题】使用 vba 在 Access 2010 中使用不同表单的 ID 打开表单【英文标题】:Open a form using ID from a different form in Access 2010 using vba 【发布时间】:2013-06-11 14:18:45 【问题描述】:我正在尝试从另一个表单的按钮打开一个表单。带有按钮contracts_all 表单的表单有一个字段ID,我想打开包含该ID 信息的表单。第二种形式,合同,具有附加信息,并具有允许编辑该特定合同的按钮。我设法得到了一些东西,但它给了我一个“运行时错误 2489。表单合同未打开” 代码如下。提前致谢。
Private Sub Command74_Click()
ID = [Forms]!Contracts_all![ID]
DoCmd.GoToRecord acDataForm, "Contracts", ID
End Sub
【问题讨论】:
【参考方案1】:Dim Rs As Recordset
Dim Test As Integer
Dim varBookmark As Variant
DoCmd.OpenForm "Contracts"
Set Rs = Forms!Contracts.RecordsetClone
Rs.FindFirst ("[ID] = '" & Me![ID] & "'")
varBookmark = Rs.Bookmark
Forms!Contracts.Form.Bookmark = varBookmark
If Rs.NoMatch Then
MsgBox "That does not exist in this database."
Else
End If
【讨论】:
我试过这段代码..但它给了我“找不到方法或数据集”..我在这里错过了一些非常简单的东西吗?【参考方案2】:我有答案..谢谢大家的帮助..我最终做的是从 Contracts_all 表格中获取 ID,每次我重新打开合同表格时。这是我的代码
Private Sub next_Click()
On Error GoTo Err_next_Click
DoCmd.SelectObject acForm, "contracts_all"
DoCmd.GoToControl "ID"
DoCmd.GoToRecord , , acNext
DoCmd.OpenForm "Contracts", , , "ID = " & Forms!contracts_all![ID]
Exit_next_Click:
Exit Sub
Err_next_Click:
MsgBox Err.Description
Resume Exit_next_Click
End Sub
【讨论】:
以上是关于使用 vba 在 Access 2010 中使用不同表单的 ID 打开表单的主要内容,如果未能解决你的问题,请参考以下文章
在 ms access 2010 中将嵌入式宏转换为 vba 后,代码不再起作用
使用 VBA 在 Access 2010 中的表单上显示记录集
从 Access 2010 VBA 打开 Excel 2010 文件