Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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 创建新记录后,我可以';我无法让我的表单在Access 2010中显示它_Ms Access_Vba_Ms Access 2010 - Fatal编程技术网

Ms access 创建新记录后,我可以';我无法让我的表单在Access 2010中显示它

Ms access 创建新记录后,我可以';我无法让我的表单在Access 2010中显示它,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,堆栈溢出。我有一个问题,我已经纠结太久了。目前,我有一个显示联合体数据的表单,其中有一个按钮,上面写着“创建新联合体”。当我单击它时,它会显示一个弹出窗口,允许您输入名称,如下图所示。几乎所有的工作都很好,除了我无法让它在创建新记录后显示它。请看下面我的代码——您将了解我正在尝试做什么 顺便说一句,如果重要的话,“联合体名称”组合框允许您选择记录。我不知道它怎么会把我的更新抛到脑后,但我想我应该包括这些信息 以下是表格: 代码如下: 有趣的是,StackOverflow在进行编辑后似乎没有正

堆栈溢出。我有一个问题,我已经纠结太久了。目前,我有一个显示联合体数据的表单,其中有一个按钮,上面写着“创建新联合体”。当我单击它时,它会显示一个弹出窗口,允许您输入名称,如下图所示。几乎所有的工作都很好,除了我无法让它在创建新记录后显示它。请看下面我的代码——您将了解我正在尝试做什么

顺便说一句,如果重要的话,“联合体名称”组合框允许您选择记录。我不知道它怎么会把我的更新抛到脑后,但我想我应该包括这些信息

以下是表格:

代码如下:

有趣的是,StackOverflow在进行编辑后似乎没有正确地缩进代码——我通过一个新的测试帖子成功地完成了这项工作。哦,好吧。我也不知道这件事:

Private Sub CreateConsortiumButton_Click()
    If IsNull(Me.ConsortiumNameText) Or Me.ConsortiumNameText = "" Then ''insert better validation here
        MsgBox "Please enter a valid consortium name."
    Else
        '' Create a new Consortium record with the ConsortiumNameText field on the popup window
        Dim rst As DAO.Recordset
        Set rst = CurrentDb.OpenRecordset("Consortium")
        rst.AddNew
        rst("Consortium name").Value = Me.ConsortiumNameText
        ConsortiumID = rst("ConsortiumID").Value
        rst.Update
        '' Now, create a corresponding record in the ResearchContributions table
        Set rst = CurrentDb.OpenRecordset("ResearchContributions")
        rst.AddNew
        rst("ConsortiumID").Value = ConsortiumID
        rst.Update
        MsgBox "Consortium " & Me.ConsortiumNameText & " successfully created."
        '' Change the form's combo box to reflect the new record
        Forms!Main!NavigationSubform!ConsortiumNameCombobox = Me.ConsortiumNameText
        '' Close popup
        DoCmd.Close
        '' Attempt to set the record on the main form to the newly created one - NOT WORKING!
        DoCmd.OpenForm "Main", acNormal, , "[ConsortiumID] = " & ConsortiumID
    End If
End Sub

我认为部分问题可能与我将基于选项卡控件的“Consortium Form”表单放入“Main”表单有关。可能是因为我试图用某个联合体ID打开主窗体,该联合体ID不适用于联合体窗体。看起来好像我不能把主人和它的孩子联系起来,但这在过去是不必要的。如果这些概念听起来很模糊,请原谅我,因为这只是因为这些概念在我的脑海中还很模糊和混乱——这是我的第一个Access项目。有人有什么建议吗?

好的,我想我知道了。我添加了以下代码:

DoCmd.OpenForm "Main"
DoCmd.Requery
DoCmd.SearchForRecord , , acFirst, "[ConsortiumID] = " & ConsortiumID

首先,打开表单,然后重新查询以注册新项目在数据库中的事实,然后使用SearchForRecord将其打开。尼托。谢谢大家

好吧,我想我知道了。我添加了以下代码:

DoCmd.OpenForm "Main"
DoCmd.Requery
DoCmd.SearchForRecord , , acFirst, "[ConsortiumID] = " & ConsortiumID

首先,打开表单,然后重新查询以注册新项目在数据库中的事实,然后使用SearchForRecord将其打开。尼托。谢谢大家

代码图片的意义是什么?当我粘贴其他文本时,它没有突出显示。我觉得这样会更可读。如果你愿意的话,我可以粘贴代码。我做了,但奇怪的是,编辑后没有正确缩进。当我创建新帖子时,它可以正确缩进。奇怪。代码图片的意义是什么?当我粘贴其他文本时,它没有突出显示。我觉得这样会更可读。如果你愿意的话,我可以粘贴代码。我做了,但奇怪的是,编辑后没有正确缩进。当我创建新帖子时,它可以正确缩进。奇怪的