【问题标题】:Edit record from request history form by specific user特定用户从请求历史表单中编辑记录
【发布时间】:2012-02-10 07:50:58
【问题描述】:

我通过从组合框中选择的特定用户名创建了一个请求历史记录表单。它适用于以下代码。

UserName Ticket# Req# start_date 是我放置在表单详细信息部分下的列字段。 (我还详细包含了命令按钮,因此我会为我的每条记录显示命令按钮)

Ticket# 是我的主键。

现在问题来了,我不知道从这里开始使用 vba 逻辑。我的命令按钮如何读取我当前的记录源 Ticket#,以便我可以调用“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

【问题讨论】:

  • 为什么会有这么多的sql字符串?为什么不使用将链接主设置为用户组合并将子链接设置为用户 ID 的子表单?为什么要使用 change 事件,一般是要避免的?

标签: ms-access vba ms-access-2007


【解决方案1】:

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

Me.Requery

在您更改记录源之后。

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

在按钮的点击事件中

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    相关资源
    最近更新 更多