Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 源码示例

按输入编号批量添加相近记录

时 间:2009-09-04 10:37:31
作 者:trnew   ID:2645  城市:广州
摘 要:在窗体文本框中输入数字1,3,6-9,11-13,25(英文输入时的逗号)。

如何设计,当按下按钮时,把以上数字批量添加到表中的编号字段?


正 文:

点击下载此附件

我们在输入记录时,有很多记录是相近的,可能仅是编号或编码不同而已,比如设备管理系统中有很多同类设备。如何能快速同时录入多条相近的记录呢?比如在在窗体文本框中输入数字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

作者相关文章:快速录入多条相似记录按组合添加多条记录



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助