以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- Find用法问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=127227) |
||||
-- 作者:明天的灵 -- 发布时间:2018/11/8 18:53:00 -- Find用法问题 在“每日工作量”表中,选择“操作台”台,如果有这台“”操作台“记录,则根据这个表中以往同一台操作台的“结束数”自动记录到这一行的“开始数”中。 如果没有,“开始数”直接填写“0”,现在没有找到话,没有 "没有找到此操作台的上次记录,初始值为0"这个出错提醒,也不填“0” Dim dd As String dd = e.DataRow("操作台") Dim dr As DataRow dr = DataTables("每日工作量").Find ("操作台 = \'" & dd & "\'","操作日期 Desc") \'找出最后一次这个操作台的记录 If dr IsNot Nothing Then \'如果找到的话 MessageBox.Show("已找到上次操作台号") e.DataRow("开始数") = dr("结束数") Else MessageBox.Show("没有找到此操作台的上次记录,初始值为0") e.DataRow("开始数") = 0 End If 以上代码在表事件 每日工作量_DataColChanged
[此贴子已经被作者于2018/11/8 19:18:22编辑过]
|
||||
-- 作者:cyrollin -- 发布时间:2018/11/8 20:01:00 -- 和我的一个帖子类似,请参考 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=127213 要加 identify 参数
|
||||
-- 作者:有点甜 -- 发布时间:2018/11/8 20:07:00 -- 比如
dr = DataTables("每日工作量").Find ("操作台 = \'" & dd & "\' and _Identify < " & e.datarow("_Identify"),"操作日期 Desc") \'找出最后一次这个操作台的记录
或者
dr = DataTables("每日工作量").Find ("操作台 = \'" & dd & "\' and _sortkey < " & e.datarow("_sortkey"),"操作日期 Desc") \'找出最后一次这个操作台的记录 |
||||
-- 作者:明天的灵 -- 发布时间:2018/11/8 21:13:00 -- 谢谢二位,上面问题解决了,原来是照抄帮助的。看样子帮助中还有漏洞。 还想问下,要解决 没有选择“操作台”,就不能输入“开始数”,即要把光标移到“操作台”处,如何解决? Select Case e.DataCol.Name Case "开始数" \'如果更改的是开始数 If e.DataRow.IsNull("操作台") Then \'操作台是否为空 MessageBox.Show("没有选择操作台,不能计算") \'需要改进 Return Else If e.DataRow.IsNull("结束数") Then \'结束数是否为空 e.DataRow("计件数量") = e.DataRow("开始数") \'如果为空,则为开始数 Else \'否则进行表达式计算 e.DataRow("计件数量") = e.DataRow("结束数") - e.DataRow("开始数") End If End If [此贴子已经被作者于2018/11/8 21:14:26编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/11/8 21:16:00 -- afterEdit事件
Select Case e.Col.Name e.table.select(e.row.index, e.table.cols("操作台").index-1) End Select [此贴子已经被作者于2018/11/8 21:16:29编辑过]
|