Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

请问如何批量添加

开心  发表于:2009-09-03 23:35:47  
复制

在窗体文本框中输入数字1,3,6-9,11-13,25(英文输入时的逗号)。

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

注:表1是批量添加后的效果。

点击下载此附件

 

Top
trynew 发表于:2009-09-04 10:24:40

点击下载此附件

 

这里主要是拆分字符串,然后构造循环进行记录添加(用DAO),第一个循环是拆分“,”,第二个循环是生成“-”构成的多条记录。

加上错误处理和IsNumeric检查函数是防止没有输入数据或非数字字符产生错误。

代码如下:

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



开心 发表于:2009-09-04 14:19:36

 

感谢!



总记录:2篇  页次:1/1 9 1 :