Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/forms/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
Vba 如何清除同一表单上一个表和多个表的记录_Vba_Forms_Ms Access_Ms Access 2016 - Fatal编程技术网

Vba 如何清除同一表单上一个表和多个表的记录

Vba 如何清除同一表单上一个表和多个表的记录,vba,forms,ms-access,ms-access-2016,Vba,Forms,Ms Access,Ms Access 2016,我在Access 2016中创建了一个包含多个表的表单。 我正在试图弄清楚如何使用按钮来只清除表单的一部分,以便输入新记录 此表格将在仓库中用于测量。它将包含一个带有多个过道的位置,然后每个过道将有多个机架系统。 当我们测量的位置信息不会改变。只有在测量完所有机架后,过道才会改变 为了做到这一点,我需要表单能够在我移动到新机架时创建新记录,然后在我完成所有机架后更改过道 如果这是一个包含多个子表单的表单,那么这会比我尝试的方式更简单吗 我已经看过了docmd.gotonewrecord和goto

我在Access 2016中创建了一个包含多个表的表单。 我正在试图弄清楚如何使用按钮来只清除表单的一部分,以便输入新记录

此表格将在仓库中用于测量。它将包含一个带有多个过道的位置,然后每个过道将有多个机架系统。 当我们测量的位置信息不会改变。只有在测量完所有机架后,过道才会改变

为了做到这一点,我需要表单能够在我移动到新机架时创建新记录,然后在我完成所有机架后更改过道

如果这是一个包含多个子表单的表单,那么这会比我尝试的方式更简单吗

我已经看过了
docmd.gotonewrecord
gotorecord
,但它们都不适用于特定字段:

Private Sub btnNextUpright_Click()

    Dim ctrl As Control

    txtaisleID.SetFocus

    For Each ctrl In Me.Controls

        If ctrl.Tag = "upright" And TypeName(ctrl) = "TextBox" Or TypeName(ctrl) = "Combobox" Then

        DoCmd.GoToRecord , , acNewRec

        End If

    Next


End Sub
我希望能够有一个访问表单的3部分按钮

一个将清除底部的三分之一,一个将清除底部的三分之二,然后最后一个将清除整个表单

下表列出了键

t分配
-位置(主键)
-检查者
-检查

tblAisle
-aisleID(主键)
-beamcnt
-直立的 -2光束
-4光束
-6束
-8beam
-宽度
-向上
-位置(外键配置)

tblUpright
-uprID(主键)
-frntbck
-侧面
-aisleID(外键tblAisle)

tblBeam
-bemalvl
-bmlvlpass
-bmlvlfail
-bmlvlnotes
-uprID(外键tblUpright)
-ID(主键)

如果您查看表单,我正在尝试编写代码,在单击下一个竖直按钮时将向tblBeam和tblUpright添加新记录,我尝试了ADDNEW,但它会清除整个表单


有了这个,我需要在过道旁边创建另一个按钮,该按钮将向所有表(tblLocation除外)添加一条新记录!这是一个模糊的问题,我担心你得到的答案大多是猜测。这里有一个初步问题:您如何在表结构中建模位置/通道/机架数据?这个问题的答案将推动表单和应用程序其余部分的设计。好的,您的表结构看起来不错。您可以轻松地根据这些表中的每个表创建一个表单。现在,进入代码示例。我假设这个代码在过道表格中。你为什么要在控件之间循环?为什么不在直立窗体的记录集上执行一个
.AddNew
?我想我不认为这会起作用,因为在vb中没有分组或任何类似于分组的东西,而group controlsAccess没有表单分组(仅报告)。如果在表之间定义了关系,则应该查看子数据表。您可能只需要使用它们就可以完成大部分您想做的事情,几乎不需要代码!这是一个模糊的问题,我担心你得到的答案大多是猜测。这里有一个初步问题:您如何在表结构中建模位置/通道/机架数据?这个问题的答案将推动表单和应用程序其余部分的设计。好的,您的表结构看起来不错。您可以轻松地根据这些表中的每个表创建一个表单。现在,进入代码示例。我假设这个代码在过道表格中。你为什么要在控件之间循环?为什么不在直立窗体的记录集上执行一个
.AddNew
?我想我不认为这会起作用,因为在vb中没有分组或任何类似于分组的东西,而group controlsAccess没有表单分组(仅报告)。如果在表之间定义了关系,则应该查看子数据表。您可能只需要使用它们就可以完成大部分您想做的事情,几乎不需要代码。请参阅参考: