设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 5709|回复: 13
打印 上一主题 下一主题

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

[复制链接]
1#
发表于 2011-9-28 15:07:25 | 显示全部楼层
  1. Private Sub Command2_Click()
  2.     Dim rs As New ADODB.Recordset
  3.     Dim rs1 As New ADODB.Recordset
  4.     Dim rs2 As New ADODB.Recordset
  5.     Dim cnn As New ADODB.Connection
  6.     Dim str As String
  7.     Dim str1 As String
  8.     Dim str2 As String
  9.     Dim x As Double
  10.     Dim y As Double
  11.     Dim curM As Double
  12.     Dim i As Integer

  13.     On Error GoTo Command2_Click_Error

  14.     Set cnn = CurrentProject.Connection
  15.     i = 1
  16.     CurrentDb.Execute "delete * from newtbl"
  17.     Me.Newtbl_子窗体.Requery

  18.     str = "SELECT DISTINCT 记录表.姓名 FROM 记录表"
  19.     rs.Open str, cnn, adOpenKeyset, adLockReadOnly
  20.     Do Until rs.EOF
  21.         y = 50000
  22.         str1 = "SELECT 贷方 FROM 记录表 WHERE 姓名='" & rs.Fields(0) & "' And Not 贷方 Is Null"
  23.         rs1.Open str1, cnn, adOpenKeyset, adLockReadOnly
  24.         x = rs1.Fields(0)

  25.         str2 = "SELECT * FROM Newtbl"
  26.         rs2.Open str2, cnn, adOpenKeyset, adLockOptimistic
  27.         Do Until x <= 0

  28.             If x >= 50000 Then
  29.                 curM = y - i
  30.                 x = x - y + i
  31.             Else
  32.                 curM = x
  33.                 x = x - y
  34.             End If
  35.             i = i + 1
  36.             rs2.AddNew
  37.             rs2.Fields(0) = rs.Fields(0)
  38.             rs2.Fields(1) = curM
  39.             rs2.Update
  40.         Loop
  41.         rs2.Close
  42.         rs1.Close
  43.         rs.MoveNext
  44.     Loop
  45.     rs.Close
  46.     Set rs = Nothing
  47.     Set rs1 = Nothing
  48.     Set rs2 = Nothing
  49.     Set cnn = Nothing
  50.     Me.Newtbl_子窗体.Requery

  51.     On Error GoTo 0
  52.     Exit Sub

  53. Command2_Click_Error:

  54.     MsgBox "Error " & Err.Number & " (" & Err.Description & ")"
  55. End Sub
复制代码
2#
发表于 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要求,同一个人或者不同姓名,所有的尾数不同
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-21 23:11 , Processed in 0.084761 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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