Foxtable(狐表)用户栏目专家坐堂 → 自增序号报错


  共有2309人关注过本帖树形打印复制链接

主题:自增序号报错

帅哥哟,离线,有人找我吗?
ifox2018
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:166 积分:1613 威望:0 精华:0 注册:2018/3/12 9:22:00
自增序号报错  发帖心情 Post By: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控件中会直接显示后台数据的所有内容,如何打开不显示后台数据


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107754 积分:548109 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:166 积分:1613 威望:0 精华:0 注册:2018/3/12 9:22:00
  发帖心情 Post By:2020/6/20 10:54:00 [只看该作者]

问题1 已解决

问题2  有问题,如图

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

如果用  "   tables("窗口名称_表控件名称").filter = "1=2"  "  这种方式(我之前写的是   tables("窗口名称_表控件名称").filter = "列名 is null"   )
前端窗体(右侧部分)不显示我增加的商品,后端(左侧部分)正常

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107754 积分:548109 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/20 11:16:00 [只看该作者]

意思是主表也不加载数据?http://www.foxtable.com/webhelp/topics/1268.htm

 回到顶部
帅哥哟,离线,有人找我吗?
ifox2018
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:166 积分:1613 威望:0 精华:0 注册:2018/3/12 9:22:00
  发帖心情 Post By: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"   ’ 该语句有效  ,测试用

    想要实现的是在进货管理这个窗口中的副本表能显示新增的数据


 回到顶部