设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[宏/菜单/工具栏] 百思不解,求高医士

[复制链接]
跳转到指定楼层
1#
发表于 2009-6-3 11:47:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Dim mysqln As String, mymax As Integer
    Set rsNum = New ADODB.Recordset
    Set rsNumm = New ADODB.Recordset
   
   
    mysqln = "select max(凭证号) as mymax from 清单 " _
        & "where month(日期)=" & Month(Now())
    rsNum.Open mysqln, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  
       Label81.Caption = "本月最大编号为" & rsNum!mymax

    Set rsNumm = New ADODB.Recordset
    mysqln = "select sum(借方金额) as a1,sum(贷方金额) as a2  from 清单 " & "where month(日期)=" & Month(Now())
    rsNumm.Open mysqln, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
   
    If rsNumm!a1 <> rsNumm!a2 Then
       凭证编号.Value = rsNum!mymax
       Label82.Caption = "不平衡,建议编号为" & rsNum!mymax
      
   
   
     ElseIf rsNumm!a1 = rsNumm!a2 Then
   
       凭证编号.Value = rsNum!mymax + 1
       Label82.Caption = "平衡,建议编号为" & rsNum!mymax + 1
      
    End If
   
   rsNum.Close
   rsNumm.Close

经运行发生这样的问题:  每向 数据表"清单"中添加一记录,就远行一次上述的程序,问题是:  查询出来的最大数"mymax"总是固定,不是最大数,查询出来的其它却是好的,百思不得解,求高手医士!!!!!!!!!!!!!!!!!!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-6-3 12:04:45 | 只看该作者
试试:建立记录集后,先 记录集.movelast, 然后再 记录集.movefirst,再显示记录数。
3#
发表于 2009-6-3 12:34:06 | 只看该作者
本帖最后由 djt 于 2009-6-3 12:35 编辑

需要 rs.update
凭证编号.Value = rsNum!mymax + 1
       Label82.Caption = "平衡,建议编号为" & rsNum!mymax + 1
rsNum!mymax=rsNum!max+1
rsNum.update
4#
 楼主| 发表于 2009-6-3 13:49:53 | 只看该作者
这两剂药都服用了,没用,不过还是谢了!!!
5#
发表于 2009-6-3 18:01:41 | 只看该作者
Recordset的CursorType参数adOpenKeyset,不能显示新记录,将其更改为adOpenDynamic值。
6#
 楼主| 发表于 2009-6-11 07:57:30 | 只看该作者
谢各位,问题已解决,方法是把表"凭证号"类形设为长整形
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-28 13:15 , Processed in 0.095216 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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