以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 报错提示 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=184425) |
|
-- 作者:lisangyu -- 发布时间:2022/12/6 22:24:00 -- 报错提示 蓝总:晚上好! .NET Framework 版本:4.0.30319.17929 Foxtable 版本:2022.8.18.1 错误所在事件: 详细错误信息: 无法在 System.Int32 和 System.String 上执行“=”操作。 我在窗口里加了两个ComboBox控件,都在valuechanged加入相同的代码: Dim Filter1 As String Filter1 = "年度 = \'" & e.Form.Controls("ComboBox1").Value & "\' And 月份 =\'" & e.Form.Controls("ComboBox2").Value & "\'" Tables("数据报表_table1").Filter = filter1 打开窗口就乳开头报错,把And 月份 =\'" & e.Form.Controls("ComboBox2").Value & "\'删掉就正常了,这是为什么呢 |
|
-- 作者:有点蓝 -- 发布时间:2022/12/6 22:27:00 -- Filter1 = "年度 = \'" & e.Form.Controls("ComboBox1").Value & "\' And 月份 =" & e.Form.Controls("ComboBox2").Value 表达式中的日期用符号#括起来,数值则不需要任何符号括起来,这些和代码中的格式是一样的,唯一不同的是字符串用单引号括起来。 例如: Tables("订单").Filter = "[产品] = \'PD01\'" \'字符用单引号括起来 建议使用这种方式生成条件:http://www.foxtable.com/webhelp/topics/1058.htm,否则如果控件没有内容就会出错 |
|
-- 作者:lisangyu -- 发布时间:2022/12/6 22:47:00 --
[此贴子已经被作者于2022/12/6 22:47:42编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2022/12/6 23:00:00 -- msgbox(Filter1 )显示什么内容 |
|
-- 作者:lisangyu -- 发布时间:2022/12/6 23:15:00 -- 显示月份为空,但是我在afterload里已经加入e.Form.Controls("ComboBox2").Value = Date.Today.month - 1,好像是月份没有获取到值,现在多试聊几次又可以了,哎 |
|
-- 作者:有点蓝 -- 发布时间:2022/12/6 23:28:00 -- 用text Filter1 = "年度 = \'" & e.Form.Controls("ComboBox1").text & "\' And 月份 =" & e.Form.Controls("ComboBox2").text
|
|
-- 作者:lisangyu -- 发布时间:2022/12/8 17:54:00 -- MessageBox.Show(e.Form.Controls("ComboBox1").value)
MessageBox.Show(e.Form.Controls("ComboBox2").value) Dim g As New GroupTableBuilder("统计表5", DataTables("部门分解指标完成情况"), " 年度 = \'" & e.Form.Controls("ComboBox1").text & "\'And 月份 =" & e.Form.Controls("ComboBox2").text) MessageBox.Show(e.Form.Controls("ComboBox2").value) g.Groups.AddDef("年度") g.Groups.AddDef("月份") g.Groups.AddDef("分解后指标", "指标") g.Groups.AddDef("单位") g.Totals.AddDef("目标值") g.Totals.AddDef("完成情况") g.Build() Dim t As Table = e.Form.Controls("Table1").Table t.DataSource = g.BuildDataSource \'\'\'\'\' \'\'\' DataTables("数据报表_table1").DataCols.Add("进度", GetType(Double)) DataTables("数据报表_table1").DataCols.Add("序号", GetType(Integer)) Tables("数据报表_Table1").SetColVisibleWidth("序号|40|年度|60|月份|40|指标|200|单位|60|目标值|120|完成情况|120|进度|150") For Each dr1 As DataRow In DataTables("指标排序").DataRows Dim dr2 As DataRow = DataTables("数据报表_Table1").Find("指标=\'" & dr1("指标") & "\'") If dr2 IsNot Nothing Then dr2("序号") = dr1("序号") End If Next \'‘填充排列序号 Tables ("数据报表_Table1").Sort = ("序号")\'排序 afterload代码?: e.Form.Controls("ComboBox1").text = Date.Today.Year e.Form.Controls("ComboBox2").text = Date.Today.month -1 蓝总“: 还是不行,同样的错误。但是要把月份删掉,改成:Dim g As New GroupTableBuilder("统计表5", DataTables("部门分解指标完成情况"), " 年度 = " & e.Form.Controls("ComboBox1").text),没错, 而且,e.Form.Controls("ComboBox1").text 有数值,e.Form.Controls("ComboBox2").text 为空 |
|
-- 作者:有点蓝 -- 发布时间:2022/12/8 20:11:00 -- 请上传实例说明 |
|
-- 作者:lisangyu -- 发布时间:2022/12/8 20:57:00 -- 将afterload: e.Form.Controls("ComboBox1").text = Date.Today.Year e.Form.Controls("ComboBox2").text = Date.Today.month -1 这样写,e.Form.Controls("ComboBox2").text 没有获取到值 但是上下调过来写,e.Form.Controls("ComboBox2").text又能获取到值,哈,不知道为什么,感觉有BUG e.Form.Controls("ComboBox2").text = Date.Today.month -1 e.Form.Controls("ComboBox1").text = Date.Today.Year |
|
-- 作者:有点蓝 -- 发布时间:2022/12/8 21:15:00 -- 7楼代码在那个控件的事件? |