以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  表关联问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69228)

--  作者:sgi2010
--  发布时间:2015/6/1 20:02:00
--  表关联问题
主表有字段“”订单编号”,采用表达式自动编号,“XJ–”为前缀加三位数递增,然后关联子表时,主表找不到订单编号这个字段?怎么办?求帮助
--  作者:大红袍
--  发布时间:2015/6/1 20:40:00
--  

 表达式列,不能作为关联列。

 

 你把编号列改成数据列,然后用代码生成吧,DataRowAdding事件

 

Dim bh As String="KH"
Dim max As String
Dim idx As Integer
max = DataTables("表A").Compute("Max(第一列)","第一列 like \'" & bh & "%\'")
If max > "" Then \'如果存在最大销售单号
    idx = CInt(max.Substring(bh.Length+1)) + 1 \'获得最大销售单号的后三位顺序号,并加1
Else
    idx = 1 \'否则顺序号等于1
End If
e.DataRow("第一列") = bh & Format(idx,"000")


--  作者:sgi2010
--  发布时间:2015/7/5 16:46:00
--  
老师。按这个方法,我今天又碰到问题了。编号一直到XJ-100,第101个,又变成XJ-001了!!!!没有继续下去101.又从001开始了!!
--  作者:大红袍
--  发布时间:2015/7/5 16:58:00
--  

Dim bh As String="KH"
Dim max As String
Dim idx As Integer
max = DataTables("表A").Compute("Max(第一列)","第一列 like \'" & bh & "%\'")
If max > "" Then \'如果存在最大销售单号
    idx = CInt(max.Substring(bh.Length)) + 1 \'获得最大销售单号的后三位顺序号,并加1
Else
    idx = 1 \'否则顺序号等于1
End If
e.DataRow("第一列") = bh & Format(idx,"000")


--  作者:大红袍
--  发布时间:2015/7/5 16:58:00
--  
 idx = CInt(max.Substring(bh.Length)) + 1 \'获得最大销售单号的后三位顺序号,并加1
--  作者:sgi2010
--  发布时间:2015/7/7 19:05:00
--  

老师的方案还是有问题

不过我改了下

在max.substring(bh.length)-2)这里加了-2就OK了

不过我个人就有点搞混乱了。不明白-2是什么意思。刚-2是我看结果加上的~~有点乱了~

 

Dim bh As String="XJ"
Dim max As String
Dim idx As Integer
max = DataTables("T订单资料").Compute("Max(订单ID)","订单ID like \'" & bh & "%\'")
If max > "" Then \'如果存在最大销售单号
    idx = CInt(max.Substring(bh.Length)-2) + 1 \'获得最大销售单号的后三位顺序号,并加1
Else
    idx = 1 \'否则顺序号等于1
End If
e.DataRow("订单ID") = bh & Format(idx,"000")


--  作者:sgi2010
--  发布时间:2015/7/7 19:10:00
--  

我还是上实例吧。。说不清


--  作者:大红袍
--  发布时间:2015/7/7 19:12:00
--  
 代码应该是没问题的,你把订单ID全部删除,然后再测试。
--  作者:sgi2010
--  发布时间:2015/7/7 19:21:00
--  
老师帮忙看看。。。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip


--  作者:sgi2010
--  发布时间:2015/7/7 19:24:00
--  
另外。老师。有一点不明白。我不管怎么样,我的日期啊,总是带着年份的。能否去掉年份?
图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看