以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关联表的自动编号  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=43462)

--  作者:seal51
--  发布时间:2013/12/7 22:05:00
--  关联表的自动编号

产品主表和产品零件表关联, 产品主表知道如何自动编号, 但关联表“产品零件表”里的序号如何自动编号呢?


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2013/12/7 22:14:00
--  
 编写datarowadded事件,然后在Tables("产品.零件")表中拿到最大的需要用compute,然后在最大中加1。

Dim max As Long
max = Tables("产品.零件").Compute("max(序号)")
e.datarow("序号") = max + 1

--  作者:seal51
--  发布时间:2013/12/7 22:26:00
--  
虽然还糊涂着呢, 但问题解决了,需要仔细研究一下, 谢谢老师!
--  作者:seal51
--  发布时间:2014/1/15 8:15:00
--  

下面这个代码为什么编号到10就不自动在加1了呢?(只能从1到10 ,不能继续11,12 。。。)

Dim max As Long
max = Tables("排产主表.排产明细表").Compute("max(序号)")
e.DataRow("序号") = max + 1


--  作者:狐狸爸爸
--  发布时间:2014/1/15 8:26:00
--  
序号改为整数型
--  作者:seal51
--  发布时间:2014/1/15 21:14:00
--  

如何实现01,02,03。。。。。


--  作者:有点甜
--  发布时间:2014/1/15 21:35:00
--  
Dim max As String
max = Tables("表B").Compute("max(序号)")
If max > "" Then
    e.DataRow("序号") = format(val(max)+1, "00")
Else
    e.DataRow("序号") = "01"
End If

--  作者:seal51
--  发布时间:2014/1/15 21:41:00
--  
谢谢, 我加入这段代码到

DataRowAdded

 

怎么没起作用,还是1,2,3,。。,不是01,02,03,。。。


--  作者:有点甜
--  发布时间:2014/1/15 21:49:00
--  
 呃,我测试有效,你再试试,看看表名,看看数据。
--  作者:seal51
--  发布时间:2014/1/15 21:51:00
--  

我的是关联表,不会有影响吧