【问题标题】:Microsoft Access - Record Form LoadMicrosoft Access - 记录表单加载
【发布时间】:2018-07-12 10:00:10
【问题描述】:

我很好奇,当我在其中一个表单中加载记录并选择为所选记录添加报价时,我是否有可能选择添加报价(按钮),这会将我带到我的报价页面。然后我希望表单自动加载我之前在另一个表单中选择的记录。

客户表格:

报价单: 这是数据流: 选择的记录(“添加工作”)>单击“添加项目”按钮>“项目列表”加载>然后自动加载我之前在“添加工作”中选择的记录。

需要加载的字段是“项目 ID”和“客户名称”

【问题讨论】:

  • 你想用什么语言来做这个?请在您尝试执行此操作的代码中进行编辑。
  • 对不起,这将在 microsoft Access 中 - 所以使用 VBA 代码和系统函数

标签: ms-access vba


【解决方案1】:

使用DoCmd.OpenForm 方法的OpenArgs 参数


  • 当您单击Add Quotes 按钮打开报价表单时,通过 openArgs 参数发送详细信息/链接 ID。
  • 在报价表单加载事件中,您可以使用Me.OpenArgs获取传递的详细信息

参见下面的示例代码


点击添加报价按钮

Private Sub AddQuotes_Click()

    DoCmd.OpenForm "frmQuotes", OpenArgs:=me.ClientID

End Sub

报价单

Private Sub Form_Load()
    Dim varArgs

    varArgs = Me.OpenArgs

    'Fill the controls with recordset data
    If Not IsNull(varArgs) Then
        With CurrentDb.OpenRecordset("SELECT * FROM tblClients WHERE ClientID = " & varArgs, dbOpenForwardOnly )
                Me.ClientID = !ClientID
                Me.ClientName = !ClientName
                Me.ClientAddress = !ClientAddress
                Me.ClientPhone = !ClientPhone
                Me.ClientEmail = !ClientEmail
            .Close
        End With
    End If

End Sub

【讨论】:

  • OpenArgs:=me.ClientID,因为我没有 clientID 作为我使用过 project_ID 的字段,但它不会识别这一点。查看更新的表单以查看字段
  • 上面的示例代码显示了它是如何完成的。您需要在 OpenArgs:=me.Project_ID 参数中将数据从旧表单传递到新表单。你被困在哪里了?
  • 所以我想通过项目 ID ("Combo97") 和客户名称 ("Combo604") 他们将被带到“项目列表”表单。它不会在 OnClick() 事件中注册 Project_ID 字段
  • 会给您发送一份系统帮助吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多