Vba 如何清除同一表单上一个表和多个表的记录
我在Access 2016中创建了一个包含多个表的表单。 我正在试图弄清楚如何使用按钮来只清除表单的一部分,以便输入新记录 此表格将在仓库中用于测量。它将包含一个带有多个过道的位置,然后每个过道将有多个机架系统。 当我们测量的位置信息不会改变。只有在测量完所有机架后,过道才会改变 为了做到这一点,我需要表单能够在我移动到新机架时创建新记录,然后在我完成所有机架后更改过道 如果这是一个包含多个子表单的表单,那么这会比我尝试的方式更简单吗 我已经看过了Vba 如何清除同一表单上一个表和多个表的记录,vba,forms,ms-access,ms-access-2016,Vba,Forms,Ms Access,Ms Access 2016,我在Access 2016中创建了一个包含多个表的表单。 我正在试图弄清楚如何使用按钮来只清除表单的一部分,以便输入新记录 此表格将在仓库中用于测量。它将包含一个带有多个过道的位置,然后每个过道将有多个机架系统。 当我们测量的位置信息不会改变。只有在测量完所有机架后,过道才会改变 为了做到这一点,我需要表单能够在我移动到新机架时创建新记录,然后在我完成所有机架后更改过道 如果这是一个包含多个子表单的表单,那么这会比我尝试的方式更简单吗 我已经看过了docmd.gotonewrecord和goto
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没有表单分组(仅报告)。如果在表之间定义了关系,则应该查看子数据表。您可能只需要使用它们就可以完成大部分您想做的事情,几乎不需要代码。请参阅参考: