代码如下: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控件中会直接显示后台数据的所有内容,如何打开不显示后台数据