Private Sub Command1_Click() SetData "A", 7, 8, 9, 4, 8 '增加A列。7 8 9 4 8 五个数的和是 36 除以5 余数 1 SetData "C", 6, 8, 3, 5 '增加C列。6 8 3 5 四个数的和是 22 除以4 余数 2 SetData "B", 2, 3, 4, 5, 6, 8, 7, 3 End Sub Public Function SetData(ByVal Column As Variant, ParamArray List() As Variant) Dim Count As Long Dim i As Long Dim Data As Long Dim BakData As Variant Dim rCount As Long Dim m_Count As Long Count = UBound(List) + 1 For i = 0 To UBound(List) Data = Data + List(i) Next Data = Data Mod Count m_Count = Adodc2.Recordset.RecordCount rCount = Adodc2.Recordset.RecordCount BakData = "*" Adodc2.Recordset.MoveLast For i = m_Count To 1 Step -1 If Adodc2.Recordset.BOF Then Exit For Else If IsNumeric(Adodc2.Recordset.Fields(Column).Value) And Len(Adodc2.Recordset.Fields(Column).Value) > 0 Then Exit For Else Adodc2.Recordset.MovePrevious rCount = rCount - 1 End If End If Next i For i = 1 To Data rCount = rCount + 1 If rCount > m_Count Then Adodc2.Recordset.AddNew Adodc2.Recordset.Fields(Column) = "" Adodc2.Recordset.Update Else Adodc2.Recordset.MoveNext End If Next rCount = rCount + 1 If rCount > m_Count Then Adodc2.Recordset.AddNew Adodc2.Recordset.Fields(Column) = BakData Adodc2.Recordset.Update Else Adodc2.Recordset.MoveNext Adodc2.Recordset.Fields(Column).Value = BakData Adodc2.Recordset.Update End If Adodc2.Refresh End Function
SetData "C", 6, 8, 3, 5 '增加C列。6 8 3 5 四个数的和是 22 除以4 余数 2
SetData "B", 2, 3, 4, 5, 6, 8, 7, 3
End Sub
Public Function SetData(ByVal Column As Variant, ParamArray List() As Variant)
Dim Count As Long
Dim i As Long
Dim Data As Long
Dim BakData As Variant
Dim rCount As Long
Dim m_Count As Long Count = UBound(List) + 1 For i = 0 To UBound(List)
Data = Data + List(i)
Next Data = Data Mod Count m_Count = Adodc2.Recordset.RecordCount
rCount = Adodc2.Recordset.RecordCount BakData = "*" Adodc2.Recordset.MoveLast
For i = m_Count To 1 Step -1
If Adodc2.Recordset.BOF Then
Exit For
Else
If IsNumeric(Adodc2.Recordset.Fields(Column).Value) And Len(Adodc2.Recordset.Fields(Column).Value) > 0 Then
Exit For
Else
Adodc2.Recordset.MovePrevious
rCount = rCount - 1
End If
End If
Next i For i = 1 To Data
rCount = rCount + 1
If rCount > m_Count Then
Adodc2.Recordset.AddNew
Adodc2.Recordset.Fields(Column) = ""
Adodc2.Recordset.Update Else
Adodc2.Recordset.MoveNext End If
Next rCount = rCount + 1
If rCount > m_Count Then
Adodc2.Recordset.AddNew
Adodc2.Recordset.Fields(Column) = BakData
Adodc2.Recordset.Update Else
Adodc2.Recordset.MoveNext
Adodc2.Recordset.Fields(Column).Value = BakData
Adodc2.Recordset.Update End If
Adodc2.Refresh
End Function