|
代码都写出来了还求什么指教?{:soso_e128:}
简单注释下吧。
Private Sub Command0_Click()
Dim rs As ADODB.Recordset
Dim str As String
Dim i As Integer
Dim j As Integer
Dim rs1 As ADODB.Recordset
Dim str1 As String
Set rs = New ADODB.Recordset
Set rs1 = New ADODB.Recordset
str = "select * from 表2"
rs.Open str, CurrentProject.Connection, adOpenKeyset, adLockReadOnly
str1 = "select * from 表3"
rs1.Open str1, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
'如果不存在记录则跳出。
If rs.EOF Then Exit Sub
'移动记录集位置,目的在于快速读取数据、
rs.MoveLast
rs.MoveFirst
'这一段主要是把记录新增到表3中。
'从这一段来看,表3的字段2跟表2的字段2必须是一样的字段类型。表2为输入,表3为输出。
Do Until rs.EOF
'获取循环次数,即字段2(字段顺序是从0开始滴)的值除以1200取整
j = rs(1) \ 1200
If j > 0 Then
'如果大于1200,则按1200的倍数来执行循环
For i = 1 To j
'设置rst1的字段2的值为1200
rs1.AddNew
rs1(1) = 1200
rs1.Update
Next i
'把整除后的余数作为新增记录添加上去。
'其实Else部分可以不写的,因为在前面已经把整除部分追加进去了。
If rs(1) - 1200 * j <> 0 Then
rs1.AddNew
rs1(1) = rs(1) - 1200 * j
rs1.Update
End If
Else
rs1.AddNew
rs1(1) = rs(1)
rs1.Update
End If
rs.MoveNext
Loop
'打开表3,关闭记录集,并释放内存。
DoCmd.OpenTable "表3"
rs.Close
rs1.Close
Set rs = Nothing
Set rs1 = Nothing
End Sub
|
|