Foxtable(狐表)用户栏目专家坐堂 → 运行错误


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

主题:运行错误

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


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
运行错误  发帖心情 Post By:2020/2/8 4:21:00 [只看该作者]

Dim d As Date = Date.Today
Dim bh As String = "DH" & Format(d,"yyyyMM") '生成编号的前6位,4位年,2位月.
If  e.DataRow("单号").StartsWith(bh) = False '如果编号的前6位不符
    Dim max As String
    Dim idx As Integer
    max = e.DataTable.Compute("Max(单号)","单号 like '" & bh & "%' And [_Identify] <> " & e.DataRow("_Identify")) '取得该月的最大编号
    If max > "" Then '如果存在最大编号
        idx = CInt(max.Substring(8,4)) + 1 '获得最大编号的后三位顺序号,并加1
    Else
        idx = 1 '否则顺序号等于1
    End If
    e.DataRow("单号") = bh &  Format(idx,"0000")
End If

这段代码放到 DataRowAdded 事件中运行正确




如果放到窗体的AfterLoad 事件中无法保存代码



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



该怎么修改?





[此贴子已经被作者于2020/2/8 4:21:09编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

先看看:http://www.foxtable.com/webhelp/topics/0604.htm

窗口afterload可用的参数只有一个:http://www.foxtable.com/webhelp/topics/0711.htm

e参数属性:

Form:表示触发事件的窗口


另外没看懂为什么要把生成编号的代码放到afterload?每次打开窗口就上传一个编号?这个编号放到哪里?控件?某个表的某一行?

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


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/2/8 9:19:00 [只看该作者]

窗体上有一个标签
我想一打开窗体后,像新增一行一样从表中获取编号(这个时候该表不增加新行)给标签,该怎么写呢?

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

dim r as row = tables("某表").current
Dim d As Date = Date.Today
Dim bh As String = "DH" & Format(d,"yyyyMM") '生成编号的前6位,4位年,2位月.
    Dim max As String
    Dim idx As Integer
    max = DataTables("某表").Compute("Max(单号)","单号 like '" & bh & "%' " ) '取得该月的最大编号
    If max > "" Then '如果存在最大编号
        idx = CInt(max.Substring(8,4)) + 1 '获得最大编号的后三位顺序号,并加1
    Else
        idx = 1 '否则顺序号等于1
    End If
    e.form.controls("标签1").text = bh &  Format(idx,"0000")

 回到顶部