Ms access 当创建一个新的组时(该组可能包含现有联系人,但当一个新联系人加入一个现有组时,一些联系人将输入关系,因此这涵盖了这两种情况。)此命令按钮的事件没有其他代码。我可以使用Me,但我不确定这会有什么不同。大多数问题没有回答:(表单打开时是否有新的空记录?如果没有
Ms access 当创建一个新的组时(该组可能包含现有联系人,但当一个新联系人加入一个现有组时,一些联系人将输入关系,因此这涵盖了这两种情况。)此命令按钮的事件没有其他代码。我可以使用Me,但我不确定这会有什么不同。大多数问题没有回答:(表单打开时是否有新的空记录?如果没有,ms-access,vba,ms-access-2016,Ms Access,Vba,Ms Access 2016,当创建一个新的组时(该组可能包含现有联系人,但当一个新联系人加入一个现有组时,一些联系人将输入关系,因此这涵盖了这两种情况。)此命令按钮的事件没有其他代码。我可以使用Me,但我不确定这会有什么不同。大多数问题没有回答:(表单打开时是否有新的空记录?如果没有,则ContactID的第一条记录将更改为[Forms]![frmContacts]的当前ContactID。您希望能够将新联系人分配给多个组吗(当使用CmdAssignContactGroup\u Click时)并将多个用户分配给以相同形式创
当创建一个新的组时(该组可能包含现有联系人,但当一个新联系人加入一个现有组时,一些联系人将输入关系,因此这涵盖了这两种情况。)此命令按钮的事件没有其他代码。我可以使用
Me
,但我不确定这会有什么不同。大多数问题没有回答:(表单打开时是否有新的空记录?如果没有,则ContactID
的第一条记录将更改为[Forms]![frmContacts]
的当前ContactID
。您希望能够将新联系人分配给多个组吗(当使用CmdAssignContactGroup\u Click
时)并将多个用户分配给以相同形式创建的新组?Me
的优点是1.只需两个字母,2.比表单
集合中的查找更快,3.自我解释参考,4.多实例保存(这就是为什么我询问如何打开frmContacts\u group
)。好的,一个子表单会使它变得不必要的复杂!诀窍是从打开frmContacts\u Groups
的位置传递表单,并使用控件的DefaultValue
属性,该属性应具有打开表单的ID。如果frmContacts`已打开该控件(组合框?)包含Contacts\u Group表的ContactID
的从表单中获取ID作为DefaultValue
,它被锁定以防止更改,并且frmContacts\u Groups
被过滤到它。对于具有GroupID
的Groups表单,相同的是,打开表单的名称由ÒpenArgs`提供。我不太了解使用case“frmContacts”
和case“frmGroups”
查找case语句-在调试器中,我看到此代码跳到case Else
,即使在我从frmContacts
打开frmContacts\u组时也是如此。很抱歉,在DoCmd.OpenForm“frmContacts\u组”中漏掉了一个逗号
,但这会导致类型不匹配
我忘记更改“frmContacts”
字符串以匹配命令按钮代码中的实际表单名称,但在表单加载()中更改了它
子例程。我还使用了OpenArgs:=
,因为我不喜欢计算逗号,这就是为什么没有出现类型不匹配的原因。这个解决方案现在对我有效,谢谢!希望这是我放弃这个坏习惯的一个教训!
Private Sub CmdAssignContactGroup_Click()
DoCmd.OpenForm "frmContacts_Groups", , , , acFormPropertySettings
[Forms]![frmContacts_Groups]![ContactID] = [Forms]![frmContacts]![ContactID]
End Sub
Dim condition As String
condition = "ContactID = " & Me!ContactID
DoCmd.OpenForm "frmContacts_Groups", WhereCondition:=condition
AllowEdits = Yes
AllowDeletions = No
AllowAdditions = No
DataEntry = No
DoCmd.Close acForm, "frmContacts_Groups"
Private Sub CmdAssignContactGroup_Click()
If Not CurrentProject.AllForms("frmContacts_Groups").IsLoaded then
DoCmd.OpenForm FormName:="frmContacts_Groups", OpenArgs:="frmContacts"
Else
Msgbox "frmContacts_Groups is allready opened! What should we do?"
End If
End Sub