Private Sub Report_Open(Cancel As Integer)
Dim rst As New ADODB.Recordset
Dim n As Long
Dim m As Long
m = DCount("*", "订单表")
rst.Open "订单表", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
'如果记录数小于15,则补足15条记录
If m < 38 Then
For i = 0 To 38 - rst.RecordCount
rst.AddNew
Next
Else
n = 38 - ((m - 38) Mod 38)
For i = 0 To n
rst.AddNew
Next
End If
Set rst = Nothing
End Sub
拜托,灵活一些新不行,你看清楚这段代码的意思了不?
m = DCount("*", "订单表") 这个是取得纪录的数量,你需要针对你的需求改写,取得你查询出的纪录数量
If m < 38 Then
For i = 0 To 38 - rst.RecordCount
rst.AddNew
Next
这一段是设置你每页最多的行数为38行,如果你的纪录数不够38行,那就自动添加新的纪录数。你的似乎不能用这个添加空记录到表的办法,除非是用一个临时表。
n = 38 - ((m - 38) Mod 38)
For i = 0 To n
这个是判断页数,然后再增加空记录,
你需要实现的功能是一致的,将代码肯定是要改改才能应用到你的需求上去。其实还不如用line划线呢,呵呵。