2013-02-15 54 views
0

我在数据表视图中使用了子窗体“ActivitiesSubform”的Access窗体“DailyItemsTracked”。当我在“ActivitiesSubform”中双击一条记录时,应该打开一个名为“ActivityEntry”的表单来编辑记录。打开MS Access子窗体编辑特定记录

当我双击时,我有我想要编辑的记录的正确ID。但是,新表格始终打开以添加新记录,而不是编辑现有记录。 (所有现有记录都被过滤掉)。我把这个问题用了一个多小时,但没有解决。

弹出窗体上的id字段和id控件源的名称都是“id”。

这里是我试图打开窗体:

MsgBox (Me![id]) 'It is getting the correct id for the selected record 

DoCmd.OpenForm "ActivityEntry", , , "ID=" & Me.id 

DoCmd.OpenForm "ActivityEntry", , , "[id]=" & Me![id] 

DoCmd.OpenForm "ActivityEntry", , , "[id]=" & Form_ActivitiesSubform.id 

Dim stDocName As String 
Dim stLinkCriteria As String 
stDocName = "ActivityEntry" 
stLinkCriteria = "[id]=" & Me![id] 

Dim stDocName As String 
Dim stLinkCriteria As String 
stDocName = "ActivityEntry" 
stLinkCriteria = "ActivityEntryEdit.[id]= " & Me![id] 

即使我拼出来的ID明确它仍然是打开一个新的记录:

Dim stDocName As String 
Dim stLinkCriteria As String 
stDocName = "ActivityEntry" 
stLinkCriteria = "ActivityEntry.[id]= " & 69 

我也不能选择开盘后的记录

Dim stDocName As String 
Dim stLinkCriteria As String 
stDocName = "ActivityEntry" 
stLinkCriteria = "ActivityEntryEdit.[id]= " & Me![id] 
DoCmd.OpenForm stDocName, , , stLinkCriteria 
Forms(stDocName).Recordset.FindFirst "id = " & Me!id 

我很感激您可以提供的任何帮助!

回答

2

您需要了解DoCmd.OpenForm语句的语法。你可以阅读关于它here。简而言之,您需要将参数DataMode设置为acFormEdit

+0

戴尔,完美!谢谢。 – MrMoxy 2013-02-15 05:22:23

相关问题