Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 按特定用户编辑请求历史记录表单中的记录_Ms Access_Vba_Ms Access 2007 - Fatal编程技术网

Ms access 按特定用户编辑请求历史记录表单中的记录

Ms access 按特定用户编辑请求历史记录表单中的记录,ms-access,vba,ms-access-2007,Ms Access,Vba,Ms Access 2007,我已经通过从组合框中选择的特定用户名创建了一个请求历史记录表单。所有这些都与下面的代码一起工作 UserName Ticket#Req#start#date是我的列文件,我将其放在表格的详细信息部分。(此外,我还详细介绍了命令按钮,以便在搜索过程中为我的每条记录显示命令按钮) 票是我的主键 现在问题来了,我不知道从vba逻辑开始。我的命令按钮如何读取我的当前记录源票证,以便我可以调用“fndEdit”表单 例如: 我对“userA”的搜索显示了历史记录中的10条记录。当我如何编辑当前表单中的第5

我已经通过从组合框中选择的特定用户名创建了一个请求历史记录表单。所有这些都与下面的代码一起工作

UserName Ticket#Req#start#date是我的列文件,我将其放在表格的详细信息部分。(此外,我还详细介绍了命令按钮,以便在搜索过程中为我的每条记录显示命令按钮)

票是我的主键

现在问题来了,我不知道从vba逻辑开始。我的命令按钮如何读取我的当前记录源票证,以便我可以调用“fndEdit”表单

例如: 我对“userA”的搜索显示了历史记录中的10条记录。当我如何编辑当前表单中的第5条记录以调用特定记录的编辑表单“frmedit”时

Option Compare Database
Option Explicit

'Set default record source of form
Const strsql = "SELECT Temp.userName,Temp.Recordcreated,Temp.[req#],Temp.[Ticket#],Temp.[start_date] FROM Temp"


Private Sub cbouser_Change()
Dim strFilterSQL As String
strFilterSQL = strsql & " Where [UserName] = '" & Me.cbouser & "' ORDER BY [Recordcreated] DESC;"

Me.RecordSource = strFilterSQL
'DoCmd.RunSQL strFilterSQL

End Sub

上面的代码应该在组合框的click事件中,您可能需要一个

Me.Requery
更改记录源之后

将窗体的默认视图属性设置为连续窗体。在详细信息部分放置一个标题为“编辑此记录”的命令按钮

在按钮的单击事件中

DoCmd.OpenForm "EditForm", acNormal, , "RecordId=" & Me.RecordId

为什么有这么多sql字符串?为什么不使用链接主窗体设置为用户组合,链接子窗体设置为用户id的子窗体?为什么要使用变更事件,通常是要避免的?