以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  代码报错求助  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=157575)

--  作者:夜点蚊香
--  发布时间:2020/10/21 14:07:00
--  代码报错求助

DataColChanged 在这里设置代码

Select Case E.DataCol.Name
    Case "星期"
        Dim PR As DataRow = DataTables("设置_星期").Find("星期 = " & e.NewValue)
        If pr IsNot Nothing Then
            e.DataRow("星期数字") = pr("星期数字")
          End If
End Select

报错
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:表,排课明细,DataColChanged
详细错误信息:
调用的目标发生了异常。
未找到列 [星期日]。

--  作者:y2287958
--  发布时间:2020/10/21 14:24:00
--  
不是已经说了“星期日”这列不存在吗?自个查一下呗
--  作者:有点蓝
--  发布时间:2020/10/21 15:01:00
--  
多看几遍:http://www.foxtable.com/webhelp/topics/1284.htm

表达式中的日期用符号#括起来,数值则不需要任何符号括起来,这些和代码中的格式是一样的,唯一不同的是字符串用单引号括起来。

例如:

Tables("订单").Filter = "[产品] = \'PD01\'"  \'字符用单引号括起来
Tables("订单").Filter = "[日期] = #3/17/1999#"  \'日期用#括起来
Tables("订单").Filter = "[折扣] = 0.1"  \'数值直接使用


Dim PR As DataRow = DataTables("设置_星期").Find("星期 = \'" & e.NewValue) & "\'"


--  作者:夜点蚊香
--  发布时间:2020/10/22 8:00:00
--  
搞定了,谢谢