设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: whyqwz
打印 上一主题 下一主题

[其它] 连续生成编号问题!

[复制链接]
11#
发表于 2005-9-5 23:45:00 | 只看该作者
Private Sub 命令35_Click()

    Dim a

    Dim b

    a = Me.开始号码

    b = Me.结束号码    Dim m As Object

    Set m = CurrentDb.OpenRecordset("test")    Do While a <= b        If DCount("发票编号", "test", "发票编号= ('" & a & "')") > 0 Then            a = a + 1        Else            m.AddNew

            m("发票编号") = a

            m("开票人姓名") = Me.开票人姓名

            m.Update            a = a + 1

            

        End If

        

    Loop    m.CloseEnd Sub运行后提示If DCount("发票编号", "test", "发票编号= ('" & a & "')") > 0 Then  出错请问' "& a &" '是什么意思? 我的“发票编号”字段是数值类型我将此句改成If DCount("发票编号", "test", "发票编号= val('" & a & "')") > 0 Then 为何陷入死循环,不停的添加纪录,a已经大于 b还不停。
12#
发表于 2005-9-6 00:09:00 | 只看该作者
问题好像出在第二次点击“开始号码”或者“结束号码”输入框后,自动循环开始。这两个文本框我没有设置事件。
13#
发表于 2005-9-6 00:54:00 | 只看该作者
就用3楼的代码不是很好吗?只要加二句判断号码是否已经存在,决定添加与否。
14#
发表于 2005-9-6 03:51:00 | 只看该作者
Private Sub 命令25_Click()

Dim m As Object

Dim aSet m = CurrentDb.OpenRecordset("test")

For i = Me.开始号码 To Me.结束号码



        If DCount("发票编号", "test", "发票编号= val('" & i & "')") > 0 Then

                    Else            m.AddNew

            m("发票编号") = i

            m("开票人姓名") = Me.开票人姓名

            m.Update            

            

        End IfNext

Me.Requerym.CloseEnd Sub用这个代码搞定,可是按理说11楼的代码也可以,就是执行起来不对。还是想知道' "& a &"  '是怎么回事?请各位老师指点。
15#
发表于 2005-9-7 22:09:00 | 只看该作者
因为a并没有具体定义为数值型,所以要用引号
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-29 20:47 , Processed in 0.075971 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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