【问题标题】:How to record unbound control to a database如何将未绑定的控制记录到数据库
【发布时间】:2016-12-01 03:34:37
【问题描述】:

我有一个表单控件(地址),它使用 Dlookup 从表“数据库”调用信息,但表单绑定到表“跟踪器”。 dlookup 基于同一窗体上的另一个控件-“名称”我需要该窗体来记录此 dlookup 控件,以及绑定到“tracker”的其他控件作为“tracker”表的新记录。

我的失败尝试: 使用默认值属性将调用的数据从 dlookup 分配到另一个文本框,该文本框将绑定到“跟踪器”。由于某种原因,这根本不起作用。也许我错过了告诉这个控件“地址”在选择正确的“名称”时更新的东西?

代码:

Private Sub SubmitReferral_Click()
On Error GoTo Err_SubmitReferral_Click


    DoCmd.GoToRecord , , acNewRec

Exit_SubmitReferral_Click:
    Exit Sub

Err_SubmitReferral_Click:
    MsgBox Err.Description
    Resume Exit_SubmitReferral_Click

End Sub

我也试过这个 - 分配数据 - 但是来自控件“Address1”中的 dlookup 的数据没有传输/复制到控件“Address2”

私有子组合276_OnUpdate() OnUpdate ([Address2].Value = [Address1].Value)

结束子

帮助或建议?

PS - 我已尝试对每个请求进行编辑,使其尽可能具体,并遵守适当的董事会礼仪。

【问题讨论】:

  • 能否请您发布您的代码?
  • 您可能需要的不仅仅是 DLOOKUP。如果我理解正确,您有一个绑定到名为“tracker”的表格的表格?当您在该表单上选择一个姓名时,您希望它在“数据库”表中查找该人的地址并将该地址添加到名为“跟踪器”的表中?什么应该触发添加数据?一个按钮点击?双击控件?只需单击一个名称(坏主意)?
  • @Fluidity 我没有使用代码,不过我可以发布我明天的内容。
  • @WayneG.Dunn 我希望通过单击按钮来触发它。我想我能做到。
  • (1) 表格上是否有地址字段? (2) 它们是否绑定到“跟踪器”表中的字段?如果是和是,您可以在 button_click 事件中放置代码来执行 Dlookup 或查询。即 Me.AddLine1 = DLookUp(.....),然后重复城市、州、邮编等。最后,DoCmd.RunCommand acCmdSaveRecord

标签: ms-access


【解决方案1】:

仍然不确定您的字段名称等,但以下是您可以修改的示例。将“tblEmployee”更改为“数据库”。

我必须声明,如果您刚开始在 Access(或 VBA)中进行开发,那么您永远不应该使用保留字的名称,否则可能会产生误导。如果命名为 'tblDatabase',则您的名为 'database' 的表是可以的。

Option Compare Database
option Explicit

Private Sub cmdInsert_Click()
Dim strSQL  As String
Dim i       As Integer

    Debug.Print "cmdInsert; "
    i = MsgBox("Do you want to add 1 row for Employee ID: " & Me.EmpID & " to table 'tracker'?", vbYesNo, "Confirm Add")
    If i = vbNo Then
        Exit Sub
    End If

    DoCmd.SetWarnings True
    strSQL = "INSERT INTO tracker ( FirstName, LastName, Add1, City, St, Zip ) " & _
        "SELECT tblEmployee.FirstName, tblEmployee.LastName, tblEmployee.Add1, tblEmployee.City, tblEmployee.St, tblEmployee.Zip " & _
        "FROM tblEmployee " & _
        "WHERE (((tblEmployee.EmpID)=" & Me.EmpID & "));"

    DoCmd.RunSQL strSQL


End Sub

【讨论】:

    【解决方案2】:

    感谢您的帮助 - 我通过隐藏包含 dlookup 的字段并将代码放在一个按钮后面来解决我的问题,该按钮将信息复制到绑定的字段,因此将记录到表“跟踪器”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-22
      • 2010-10-02
      相关资源
      最近更新 更多