在我工作的地方,我们从客户那里接收电子仪表,并设法解决他们的错误。我们一次将收到4-8米,它们都有相同的问题,相同的规格,相同的一切,每一米之间唯一不同的是序列号。我想要能够输入每一个序列号,和共同的规格都以一种形式来创建多个记录。
这是我的表格的一张照片。我一次只能为一个序列号创建记录,但我想一次做到这一点,以便更快更容易地输入数据。
仪表入库表
所以总结,多米,所有相同的规格,不同的序列号。我想把它全部输入到一个表单中,并创建多个记录。谢谢你对我的帮助和洞察力。
-Chris
发布于 2015-10-21 15:03:58
您可以将子表单绑定到存储计价器记录的表中,然后在主窗体上有一些未绑定字段,允许您输入将在批记录中重复的信息。您还可以在主窗体上放置另一个未绑定文本框,以指定需要具有此重复信息的记录数量。
因此,在下面的模拟中,您将指定需要多少条记录(红色框),例如10条记录:

然后您将为这10条记录(蓝色框)提供重复的数据:

然后单击一个按钮,该按钮将创建使用所提供的重复信息指定的记录数:

然后,它将只是一个案例,为您生成的批处理中的每个记录完成唯一的序列号。
下面是我在Add按钮上使用的VBA:
Private Sub cmdAddRecords_Click()
batchAdd Me.txtRecords
Me.tblMeters_sub.Requery
End Sub...and调用的batchAdd子例程:
Public Sub batchAdd(records As Integer)
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim i As Integer
Set db = CurrentDb
Set rs = db.OpenRecordset("tblMeters")
i = 1
Do While i <= records
rs.AddNew
rs!SerialNumber = ""
rs!MeterFirmware = Me.MeterFirmware
rs!MeterCatalog = Me.MeterCatalog
rs!Customer = Me.Customer
rs!MeterKh = Me.MeterKh
rs!MeterForm = Me.MeterForm
rs!MeterType = Me.MeterType
rs!MeterVoltage = Me.MeterVoltage
rs.Update
i = i + 1
Loop
rs.Close
Set rs = Nothing
Set db = Nothing
End Sub这里有一个连接到模拟 (如果您想看得更近一些)。
更新
在回答您关于子表单是否可以被过滤以便它不只是成为所有米的大列表的问题时,您可以向tblMeters表中添加另一个字段,该字段将占用向表中添加记录的日期和时间:

然后,您需要在batchAdd子中添加另一行,将系统时间和日期放在这个新字段中:
...
Do While i <= records
rs.AddNew
rs!SerialNumber = ""
rs!MeterFirmware = Me.MeterFirmware
rs!MeterCatalog = Me.MeterCatalog
rs!Customer = Me.Customer
rs!MeterKh = Me.MeterKh
rs!MeterForm = Me.MeterForm
rs!MeterType = Me.MeterType
rs!MeterVoltage = Me.MeterVoltage
rs!DateAdded = Now ' <-- HERE!
rs.Update
i = i + 1
Loop
...然后需要更改子表单的Record Source属性(Design > subform > property > Data选项卡> Record ):

将以下SQL放在其中:
SELECT TOP 15 tblMeters.SerialNumber, tblMeters.MeterFirmware, tblMeters.MeterCatalog,
tblMeters.Customer, tblMeters.MeterType, tblMeters.MeterForm, tblMeters.MeterKh,
tblMeters.MeterVoltage, tblMeters.DateAdded
FROM tblMeters
ORDER BY tblMeters.DateAdded DESC;..。它将按日期/时间字段(最近在顶部)排序记录,然后只显示这些记录中的前15条。如果您想要不同数量的记录,请将TOP 15位更改为您选择的不同数量。
当您单击"Add“时,您的新一批记录应该添加到列表的顶部,并且列表应该保留最多15条记录(或您在TOP ...中指定的任何数字)。
请注意,当我测试这一点时,快速单击"Add“按钮几次似乎不会让TOP ...筛选器麻烦,但只要在每个”添加“按钮之间有一秒钟或更长的时间,单击它就会很好。
希望这能有所帮助。
https://stackoverflow.com/questions/33245849
复制相似问题