以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 自增序号报错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=151306) |
-- 作者:ifox2018 -- 发布时间:2020/6/20 9:03:00 -- 自增序号报错 代码如下: Dim cgrkr = DataTables("caigouruku").DataRows Dim ckm As String = GetPY( ""& e.Form.Controls("入库仓库").value &"",3) \'仓库名称拼音首拼 Dim bh As String =cstr( Format(CDate( e.Form.Controls("入库日期").text ), "yyyyMMdd") )\'取得编号的8位前缀 Dim max As String Dim idx As Integer Dim flt As String flt = "ck = \'"& e.Form.Controls("入库仓库").value &"\' And rksj = "& e.Form.Controls("入库日期").text &" " max = DataTables("caigouruku").Compute("Max(rkdh)",flt) \'取得当天的相同仓库的最大单据编号 If max > "" Then \'如果存在最大单据编号 idx = CInt(max.Substring(12,4)) + 1 \'获得最大单据编号的后四位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If e.Form.Controls("入库单号").text = bh & ckm & Format(idx,"0000") 问题1: 以上代码在空表的情况下正常执行,其他情况下报错 “错误所在事件:窗口,进货管理,入库仓库,ValueChanged 详细错误信息: 无法在 System.DateTime 和 System.Int32 上执行“=”操作。” 测下来是 “ max = DataTables("caigouruku").Compute("Max(rkdh)",flt) \'取得当天的相同仓库的最大单据编号 ” 这句话有问题,该如何修改 问题2: 因为窗体中使用的是可编辑副本表,打开窗体,table控件中会直接显示后台数据的所有内容,如何打开不显示后台数据 |
-- 作者:有点蓝 -- 发布时间:2020/6/20 9:09:00 -- 1、flt = "ck = \'" & e.Form.Controls("入库仓库").value & "\' And rksj = #"& e.Form.Controls("入库日期").text & "#" 2、窗口afterload tables("窗口名称_表控件名称").filter = "1=2"
|
-- 作者:ifox2018 -- 发布时间:2020/6/20 10:54:00 -- 问题1 已解决 问题2 有问题,如图 如果用 " tables("窗口名称_表控件名称").filter = "1=2" " 这种方式(我之前写的是 tables("窗口名称_表控件名称").filter = "列名 is null" ) 前端窗体(右侧部分)不显示我增加的商品,后端(左侧部分)正常
|
-- 作者:有点蓝 -- 发布时间:2020/6/20 11:16:00 -- 意思是主表也不加载数据?http://www.foxtable.com/webhelp/topics/1268.htm |
-- 作者:ifox2018 -- 发布时间:2020/6/21 19:20:00 -- Dim spr As Row = Tables("gongyings_Table").current Dim nma() As String = {"spbh","spmc","spxh","spgg","spdw","spssxt","spjc"} \'商品表来源列 Dim nmb() As String = {"spbh","spmc","spxh","spgg","spdw","spssxt","spjc"} \'入库表接收列 Dim rkr As DataRow = DataTables("caigouruku").AddNew For rki As Integer = 0 To nma.Length - 1 rkr(nmb(rki)) = spr(nma(rki)) rkr("rkdh") =Forms("进货管理").Controls("入库单号").text rkr("rksj") =Forms("进货管理").Controls("入库日期").text rkr("rkczy") =Forms("进货管理").Controls("经办人").text rkr("ck") =Forms("进货管理").Controls("入库仓库").text Next Tables("进货管理_table").StateFilter = StateFilterEnum.Default ‘显示所有记录。 测试用 Tables("进货管理_table").StateFilter = StateFilterEnum.Added ’ 方式一 显示新增记录 Tables("进货管理_table").filter = "rkr("rkdh")= & Forms("进货管理").Controls("入库单号").text & " ‘ 方式二 通过筛选当前入库单号,显示新增记录 以上红色语句无效 Tables("进货管理_table").filter = "2=2" ’ 该语句有效 ,测试用 想要实现的是在进货管理这个窗口中的副本表能显示新增的数据 |