设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[与其它组件] 请教高手:看看下面的代码有什么问题?

[复制链接]
跳转到指定楼层
1#
发表于 2003-11-22 10:26:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

代码如下:

Dim rq, bh As String
    rq = Me.OpenArgs & Format(Date, "yymm")
    bh = DMax("[单据编号]", "物料出入库记录", "[单据编号]like'" & rq & "????'")
      If IsNull(bh) Then
         Me.单据编号 = rq & "0001"
      Else
        Me.单据编号 = rq & Format(CStr(CInt(Right(bh, 4)) + 1), "0000")
   End If

说明:这是一个自动生成单据编号的代码," Me.OpenArgs"是打开窗体时指定的参数,值为两个字母 ,完整的格式为AA年年月月0000,后面4位数为当月此类单据流水号。

目的:每次打开单据窗体时,根据打开窗体时输入的参数判断此类单据的最后号码,如果此类单据还没有记录,则当前单据的编号为"打开窗体参数+当前年月+0001,如果已经有记录,则产生一个连续的流水号。

问题1:为什么当没有记录时出现"运行时错误,'94'  无效使用NULL"的提示?
问题2:这段代码为什么不能在"open"事件里运行,只能在"load"事件里运行?
问题3:打开了单据,但是没有在其他控件中输入数据就关闭窗体时,怎样删掉自动生成的编号,以保证不会有空编号存在?

请高手指点!先行谢过!!!


[此贴子已经被作者于2003-11-22 2:32:41编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2003-11-22 18:14:00 | 只看该作者
你再加上空格啊,
再試試看...
"[单据编号] like '" & rq & "????'")
3#
发表于 2003-11-22 19:35:00 | 只看该作者
将   
    rq = Me.OpenArgs & Format(Date, "yymm")
      bh = DMax("[单据编号]", "物料出入库记录", "[单据编号]like'" & rq & "????'")
改成
    rq = Nz( Me.OpenArgs & Format(Date, "yymm"))
      bh = Nz(DMax("[单据编号]", "物料出入库记录", "[单据编号]like'" & rq & "????'"))
试试看。


[此贴子已经被作者于2003-11-22 11:36:15编辑过]

4#
 楼主| 发表于 2003-11-23 02:16:00 | 只看该作者
以下是引用ADAM在2003-11-22 10:13:42的发言:
你再加上空格啊,
再試試看...
"[单据编号] like '" & rq & "????'")



还是一样,不行!
我如果按照AA年年月月0000的格式在表中预先输入一条记录的,然后再打开窗体时就可以正常编码了,还请多多指教!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-18 13:31 , Processed in 0.088280 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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