我有一个带有连续表单的主表单作为子表单,显示呈现给该特定客户端的服务。不知何故输入了重复的客户端(名称拼写错误),并且记录在这两个客户端名称之间分开。我希望能够从我的子表单(不正确的客户端)单击一个按钮并将这些记录传输到另一个表单(数据临时主机),这将允许我最终将这些相同的记录从中间表单传输到最终表单(正确的客户端) )。
答案 0 :(得分:1)
我假设将您的子表单记录与主表单记录相关联的外键是某种客户端ID,因此您只需要一种方法来更新它。
我能想到的一种方法是在“服务呈现”子窗体的页脚中放置一个文本框,该子窗口将获取您要转移到子窗体中可见的记录的客户端ID。然后,命令按钮(再次在子窗体中)可以获取您指定的客户端ID值,并更新“服务渲染”子窗体中显示的所有记录的客户端ID。
因此,例如,如果您有一个提供这些服务的客户端:
...但不幸的是,someonr为同一个人创造了另一个客户记录(拼错了姓氏):
您可以使用子窗体页脚中的文本框指定希望子窗体记录传输到的客户端ID:
...然后单击命令按钮以运行将为您执行更新的子例程:
然后,您可以转到您转移这些记录的客户端并检查它是否有效:
这是命令按钮上的VBA:
Private Sub cmdTransfer_Click()
Dim rs As DAO.Recordset
Set rs = Me.Form.Recordset
If _
Not (rs.BOF And rs.EOF) _
Then
rs.MoveFirst
Do While Not rs.EOF
rs.Edit
rs!ClientID = Me.txtTransClientId
rs.Update
rs.MoveNext
Loop
End If
Me.Requery
End Sub
Here's my mock-up file如果你想更详细地看一下这个。
请注意,我没有对剩余的重复客户端记录做任何事情,所以我建议将其构建到sub中(例如,是/否消息框提示,用户询问他们是否现在要删除客户端)。
希望这会有所帮助。现在,我无法代表已经回复的其他人发言,但我接受所有主要的信用卡。