Access 2016:如何根据条目数据在特定表格中保存表单条目数据?

时间:2017-04-26 16:57:19

标签: ms-access access-vba

我花了大约十分钟试图找到描述我问题的最佳问题,所以它可能不是最好的问题。

我正在从头开始练习数据库。这是我所拥有的简要说明:

我有表A,B,C和D.------ A,B,C,D是部件号。

然后我有一个表格,我必须输入部件号,日期,温度,名称,结果1和结果2。

以下是我要做的事情: - 如果我输入部件号A,我想保存表A中的所有信息。 - 如果我输入部件号B,我想保存表B中的所有信息。 - 与零件编号的其余部分相同。

最简单的方法是什么?

谢谢大家的意见。

1 个答案:

答案 0 :(得分:0)

实际上这很简单,但最终结果与“规范化”相差甚远,因此我强烈建议您将所有数据放在一个表中并有一个“PartNum”字段,以便可以过滤必要时。

但是,要回答您的问题......您可以使用unbound form进行此操作。如果不将特定表关联为表单的源数据,则将其视为未绑定。相比之下,如果将表单绑定到特定表,然后将字段绑定到控件,只要在表单中输入数据,它就会立即写入表中。使用未绑定的表单可以完全控制写入的数据以及写入的表。

因此,使用未绑定的表单,您只需在表单上放置一个“保存”按钮,并将VBA放入此按钮的OnClick事件中。在按钮的OnClick事件中,您可以检查PartNum字段,并根据值写入相应的表。

例如:

Public Sub btnSave_OnClick()
dim db as Database
dim rec as Recordset

Set db = CurrentDb
'Find out which table to write to
if Me.PartNum.Text = "A" then
  MyTable = "PartNumA"
elseif Me.PartNum.Text = "B" then
  MyTable = "PartNumB"
else (etc...)
end if

Set rec = db.OpenRecordset("Select * from " & MyTable & "")
rec.AddNew
rec("PartNum") = Me.PartNum.Text
rec("Date") = Me.Date.Text
rec("Temperature") = Me.Temperature.Text
etc...
rec.Update

rec.Close
db.Close
End Sub

以上完全是“空气码”;完全未经测试和假设,但可能非常接近你实际写的东西。