设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: ljp518
打印 上一主题 下一主题

[模块/函数] 怎样按条件将一条记录拆分为几条记录?求助!

[复制链接]
11#
 楼主| 发表于 2011-10-8 08:55:51 | 只看该作者
yehf老师!感谢你把代码有简化,使得运行更快!{:soso_e163:}
12#
发表于 2011-10-8 09:47:23 | 只看该作者
本帖最后由 Henry D. Sy 于 2011-10-8 09:47 编辑
yehf 发表于 2011-9-30 16:37
再简化下代码
Private Sub Command2_Click()
    Dim rst    As Recordset


lz要求,同一个人或者不同姓名,所有的尾数不同
13#
发表于 2011-10-8 14:42:40 | 只看该作者
Henry D. Sy 发表于 2011-10-8 09:47
lz要求,同一个人或者不同姓名,所有的尾数不同

增加两个变量进行换算,如果一拆分的尾数都要求不同,数据量大的话,也会不成立的,不知道楼主的数据量有多少条
Private Sub Command2_Click()
    Dim rst    As Recordset
    Dim rst1   As Recordset
    Dim i      As Byte
    Dim j      As Byte
    Dim k      As Integer
    j = 0
    k = 0
    CurrentDb.Execute "delete * from newtbl"
    Set rst = CurrentDb.OpenRecordset("select * from 记录表 where 贷方>0 ")
    rst.MoveLast
    rst.MoveFirst
    Set rst1 = CurrentDb.OpenRecordset("newtbl")
    With rst1
        Do Until rst.EOF
            For i = 1 To Int(rst!贷方 / 50000)
                .AddNew
                !姓名 = rst(1)
                !贷方 = 49999 - j
                .Update
                j = j + 1
                k = k + j
            Next
            .AddNew
            !姓名 = rst(1)
            !贷方 = rst(3) - 49999 * (i - 1) + IIf(rst!贷方 > 50000, k - i + 1, 0)
            .Update
            rst.MoveNext
            k = 0
        Loop
    End With
    rst1.Close
    Set rst1 = Nothing
    rst.Close
    Set rst = Nothing
End Sub
14#
 楼主| 发表于 2011-10-8 15:00:35 | 只看该作者
本帖最后由 ljp518 于 2011-10-8 15:02 编辑

谢谢Henry D. Sy 老师和yehf老师,感谢两位老师的帮助!{:soso_e163:}{:soso_e163:}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-21 08:18 , Processed in 0.088101 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表