以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  判读行内序号  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=151273)

--  作者:yangwenghd
--  发布时间:2020/6/19 12:15:00
--  判读行内序号
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:序号自编.table



可以点击按钮,控件得到日期控件与事件日期列相同的行中,事件序号最大的一个数字再加1 可以吗?

比如控件日期是2020.0
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20200619121325.jpg
图片点击可在新窗口打开查看
6.19,然后判断事件日期有那些是2020.06.19,然后在被判断的行再次判断事件序号最大的数字,在这个数值的基础上在加一个1,比如现在是1,然后这个控件里面就等于2,如果最大是2,就等于3,
如果相同的日期行对应的事件序号没有数字,就默认为1,感谢 感谢
[此贴子已经被作者于2020/6/19 12:16:59编辑过]

--  作者:有点蓝
--  发布时间:2020/6/19 13:36:00
--  
dim dr as datarow = datatables("A").find("事件日期=#" & e.form.controls("日期").value & "#","事件序号 desc")
if dr isnot nothing then
dr("事件序号") += 1
end if

--  作者:yangwenghd
--  发布时间:2020/6/19 14:07:00
--  
老师,还有个问题,就是为什么改成控件就不对了,
Dim dr As DataRow = DataTables("表A").find("事件日期=#" & e.form.controls("DateTimePicker1").value & "#","事件序号 desc")
If dr IsNot Nothing Then
dr.Controls("NumericComboBox1").Text  += 1
Else
Forms("窗口1").controls("NumericComboBox1").text = "1"
End If

--  作者:有点蓝
--  发布时间:2020/6/19 14:25:00
--  
没看懂这个代码要干啥
--  作者:yangwenghd
--  发布时间:2020/6/19 14:58:00
--  
就是把红色这段代码改为控件,如果事件日期相同的行里事件序号列没有数据,就默认为1
Dim dr As DataRow = DataTables("表A").find("事件日期=#" & e.form.controls("DateTimePicker1").value & "#","事件序号 desc")
If dr IsNot Nothing Then
    dr("事件序号") += 1
End If


--  作者:有点蓝
--  发布时间:2020/6/19 14:59:00
--  
Forms("窗口1").controls("NumericComboBox1").value += 1
--  作者:yangwenghd
--  发布时间:2020/6/19 15:45:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20200619154345.jpg
图片点击可在新窗口打开查看

老师,可以是窗口控得到的内容是检查日期列与日期控件相同的行的事件序号最后以为最大的一个数字然后加1的结果,就是在检测在同一天,不能有两个相同的,根据序号排序,如果同日期的序号列一个都没有,控件内容就为1.

就是在同一天,然后我先检测有没这个序号(日期-后面的数字),如果有就在基础上加1,如果没有就设定为1、
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:序号自编.table



--  作者:有点蓝
--  发布时间:2020/6/19 15:52:00
--  
参考这里的用法:http://www.foxtable.com/webhelp/topics/2403.htm

看看示例是怎么取序号+1的

--  作者:yangwenghd
--  发布时间:2020/6/19 16:18:00
--  
这个如果控制位数太麻烦了。老师,我就想这个编号就是日期+序号,先看看检测控件的日期和列的日期是否有相同的,如果没有,控件的序号控件就为1,如果如果有,就看表的序号列当天已经排到多少号了,然后控件在再最大的那个数字上加1,就产生的新的编号了,
--  作者:有点蓝
--  发布时间:2020/6/19 16:33:00
--  
dim dr as datarow = datatables("A").find("事件日期=#" & e.form.controls("日期").value & "# and 事件序号 is not null","事件序号 desc")
if dr isnot nothing then
dim i as integer = val(dr("事件序号").substring(9)) + 1
Forms("窗口1").controls("NumericComboBox1").value = i
end if