首页 文章

Access 2002 VBA:创建递增的项代码

提问于
浏览
0

好的,这是交易 . 我有一个以前存在的SQL Server 2008数据库通过链接表/视图链接到Access 2002数据库 . 到目前为止,商品代码一直是 nvarchar 类型 .

我有一个SQL查询,将项目代码转换为 Int 和一个Access 2002链接查询,使用 MAX() 函数给我最高值 . 从这个最高值开始,每次选择"New"记录按钮时,我希望开始将项目代码递增1 .

现在,当选择"New"时,表单为空,等待输入 . 我想要做的是,当选择"New"时,要将 MAX() 函数查询的值传递给变量,添加1,并将结果值放在"Item Code"文本框中 .

这听起来很容易,但由于某种原因,我似乎无法让它工作 . 我知道Access相当不错,但我的VBA相当弱 .

2 回答

  • 0

    声音可以通过自定义功能完成 .

    Dim rs as dao.recordset
    Dim db as dao.database
    Dim NextInt as string
    
    set db = currentDb
    set rs = db.openrecordset(YourMaxQuery,dbOpenSnapshot,dbSeeChanges)
    
    if rs.recordCount >0 THEN
       NextInt = Cstr(rs!MaxValue + 1)
    END
    
    set rs = nothing
    set db = nothing
    
    return NextInt
    

    在查询的update语句中调用该函数,它应该为您提供所需的值 .

  • 0

    对不起,我花了很长时间才回到这个主题 .

    好吧,我最终选择了MS SQL Server 2008中的GlobalSequence . 基本上只创建了一个以max id值作为种子的表,并将其与具有位值的列匹配,以防止回滚和重复的项目代码应该记录被删除 . 在那之后,这很容易 . :)

相关问题