我花了大约十分钟试图找到描述我问题的最佳问题,所以它可能不是最好的问题。
我正在从头开始练习数据库。这是我所拥有的简要说明:
我有表A,B,C和D.------ A,B,C,D是部件号。
然后我有一个表格,我必须输入部件号,日期,温度,名称,结果1和结果2。
以下是我要做的事情: - 如果我输入部件号A,我想保存表A中的所有信息。 - 如果我输入部件号B,我想保存表B中的所有信息。 - 与零件编号的其余部分相同。
最简单的方法是什么?
谢谢大家的意见。
答案 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
以上完全是“空气码”;完全未经测试和假设,但可能非常接近你实际写的东西。