点击下载此附件
我们在输入记录时,有很多记录是相近的,可能仅是编号或编码不同而已,比如设备管理系统中有很多同类设备。如何能快速同时录入多条相近的记录呢?比如在在窗体文本框中输入数字1,3,6-9,11-13,25(英文输入时的逗号),当按下按钮时,把以上数字批量添加到表中的编号字段?
方法不难,主要是拆分字符串的处理,然后构造循环进行记录添加(这里使用DAO,也可以使用其他调价记录的方法)。第一个循环是拆分“,”,第二个循环是生成“-”构成的多条记录。加上错误处理和IsNumeric检查函数是防止没有输入数据或非数字字符产生错误。
另外,如果想要编号前后有字符串,可以再加入一些处理即可,比如用“:”来分隔。其他需要添加的字段,用ADO语句相应增加即可。关于其他快速录入的方法,可参考我以前发布的响应文章。
代码如下:
Private Sub Command2_Click()
On Error GoTo Err
Dim i As Integer, j As Integer, strTemp As String, rst As dao.Recordset
Set rst = CurrentDb().OpenRecordset("表1")
For i = 0 To UBound(Split(Text0, ","))
strTemp = Split(Text0, ",")(i)
If UBound(Split(strTemp, "-")) > 0 Then
For j = Split(strTemp, "-")(0) To Split(strTemp, "-")(1)
rst.AddNew
rst!编号 = j
rst.Update
Next
Else
If IsNumeric(Split(strTemp, "-")(0)) Then
rst.AddNew
rst!编号 = Val(Split(strTemp, "-")(0))
rst.Update
End If
End If
Next
Err:
End Sub
作者相关文章:快速录入多条相似记录、按组合添加多条记录