基于第一个表单字段中的数据打开表单的新实例

| 我有一个数据输入表单,数据业务员可以在其中输入客户ID。客户端ID对于每个客户端都是唯一的。我目前正在寻找重复的ID,并允许店员转到搜索表单并查找重复的ID以验证它确实是同一个人,并且没有输入数据时出错。我宁愿根据输入到数据输入表单中的客户端ID打开数据输入表单的新实例。我可以打开一个新实例,但不确定如何根据客户端ID显示客户端数据。     
已邀请:
除了关闭屏幕绘画外,没有其他好的方法。这是我的一个应用程序中的一些代码:
    Dim frm As Form_frmInventory
    Dim strRecordsource As String
    Dim intType As Integer

    DoCmd.Hourglass True
    Application.Echo False
    Set frm = New Form_frmInventory
    frm!boxHeader.BackColor = 3276900 \' 5483007
    frm!boxFooter.BackColor = 3276900 \' 5483007
    strRecordsource = \"SELECT qryInventoryForm.*, varZLStoNull(IIf([tblInventory].[InventoryClass] In (\'BKS\',\'FAC\',\'MTH\',\'MUS\',\'REF\',\'SSC\'),[Creator] & [Dates] & OtherAuthors([OtherAuthors]))) AS BibCreator, CreatorDates([Birth],[Death],[OtherAuthors]) AS Dates, varZLStoNull(Trim(nz(UCase([tblBib_Authors].[LastName]) & IIf(Not IsNull([tblBib_Authors].[FirstName]),\', \') & [tblBib_Authors].[FirstName],\'Anon.\'))) AS Creator, tblBib_Authors.CreatorCategories, Nz([CreatorSort],[LastName] & [FirstName]) AS NameSort FROM qryInventoryForm LEFT JOIN tblBib_Authors ON qryInventoryForm.CreatorID = tblBib_Authors.CreatorID WHERE ([quantity]>0 Like getSold()) AND (qryInventoryForm.InventoryID=\" & lngInventoryID & \") ORDER BY Nz([CreatorSort],[LastName] & [FirstName]), InventoryClass, ShortTitle;\"
    frm.RecordSource = strRecordsource
    \' need to change the caption and disable certain things
    frm.Caption = frm.Caption & \" -- \" & frm!InventoryClass & \"-\" & Nz(frm!InventoryNo, Format(frm!InventoryID, \"00000\"))
    frm!fldShortTitle.SetFocus
    frm!cmbClassFind.Enabled = False
    frm!cmbCreatorFind.Enabled = False
    frm!cmbInventoryNumber.Enabled = False

  [etc.]

    frm.Visible = True
    GoTo exitRoutine

  CloseForm:
    Call CloseForm(Me, True)

  exitRoutine:
    Application.Echo True
    DoCmd.Hourglass False
    Exit Sub
CloseForm()子项非常重要,因为您必须跟踪表单的多个实例并关闭正确的实例。我从ADH97获得了代码,并从那里进行了修改(只是基础知识)。 从该代码中(我已经忘记了细节)可以看出,用ѭ1实例化的表单只有在您明确显示它之后才可见。这是一个加号,因为它应该意味着您不必关闭屏幕(即
Application.Echo False
),但是我很确定我记得无论如何都需要它以使屏幕看起来平滑。我的记忆是,表单将以其正常颜色显示,然后随着代码运行,背景颜色将发生明显变化。这意味着它是可见的,所以我不确定为什么随后必须显式将窗体设置为可见。 无论如何,我认为那应该可以让您入门!     

要回复问题请先登录注册