以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请问:关于窗口的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=57785) |
-- 作者:youngk -- 发布时间:2014/10/2 15:37:00 -- 请问:关于窗口的问题 我使用内部数据源设计了一个窗口,然后,以同样的代码、同样的方式在外部数据源中设计了一个同样的窗口,结果总是显示:未将对象引用设置到对象的实例。,是怎么回事呢? |
-- 作者:sloyy -- 发布时间:2014/10/2 15:42:00 -- 可能你上传你做的例子,解决的比较快,否则总是猜测. |
-- 作者:youngk -- 发布时间:2014/10/2 16:13:00 -- Dim dtb As New DataTableBuilder("分账库存统计") dtb.AddDef("货物大类", Gettype(String)) dtb.AddDef("客户名称", Gettype(String)) dtb.AddDef("货物种类", Gettype(String)) dtb.AddDef("日期", Gettype(Date)) dtb.AddDef("库存", Gettype(Decimal)) dtb.Build() For Each nm() As String In DataTables("进出库信息记录").GetValues("客户名称|货物种类") Dim dr As DataRow = DataTables("分账库存统计").AddNew() dr("客户名称") = nm(0) dr("货物种类") = nm(1) Dim mr As DataRow mr = DataTables("进出库信息记录").find("[客户名称] = \'" & nm(0) & "\' And[货物种类] = \'" & nm(1) & "\'","[_SortKey] Desc") dr("日期") = mr("日期") dr("库存") = mr("库存") dr("货物大类") = mr("货物大类") Next MainTable= Tables("分账库存统计") Dim Filter As String With e.Form.Controls("ComboBox1") If .Value IsNot Nothing Then Filter = " 货物大类 = \'" & .Value & "\'" End If End With With e.Form.Controls("DateTimePicker1") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "日期 >= #" & .Value & "#" End If End With With e.Form.Controls("DateTimePicker2") If .Value IsNot Nothing Then If Filter >"" Then Filter = Filter & " And " End If Filter = Filter & "日期 <= #" & .Value & "#" End If End With If Filter > "" Then Tables("分账库存统计").Filter = Filter End If Dim g As New Subtotalgroup g = New Subtotalgroup g.GroupOn = "客户名称" g = New Subtotalgroup g.Aggregate = AggregateEnum.Sum g.GroupOn = "货物大类" g.TotalOn = "库存" g.Caption = "{0} 小计" With Tables("分账库存统计") .SubtotalGroups.Add(g) End With g = New Subtotalgroup g.Aggregate = AggregateEnum.Sum g.GroupOn = "*" g.TotalOn = "库存" g.Caption = "总计" With Tables("分账库存统计") .SubtotalGroups.Add(g) .Subtotal() End With With Tables("分账库存统计") .MergeMode = MergeModeEnum.free .MergeCols.Add("货物大类") .MergeCols.Add("客户名称") .AllowMerge = True End With |
-- 作者:youngk -- 发布时间:2014/10/2 16:15:00 -- 在内部数据源的情况下,点击窗口按钮就可以,但是把这个代码换到外部数据源中就会显示:未将对象引用设置到对象的实例。请大师指点下,问题出在哪里呢? |
-- 作者:czy -- 发布时间:2014/10/2 16:53:00 -- For Each nm() As String In DataTables("进出库信息记录").GetValues("客户名称|货物种类","[客户名称] Is Not Null and [货物种类] Is Not Null") |
-- 作者:czy -- 发布时间:2014/10/2 17:01:00 -- 以下是引用youngk在2014-10-2 16:15:00的发言:
在内部数据源的情况下,点击窗口按钮就可以,但是把这个代码换到外部数据源中就会显示:未将对象引用设置到对象的实例。请大师指点下,问题出在哪里呢?
只要数据加载进来了,在狐表中操作就没有内部外部之分,你的问题应该是进出库信息记录表中有空行 试试楼上的代码 |
-- 作者:youngk -- 发布时间:2014/10/2 17:10:00 -- 果然是大神,问题就是出在这里。太感谢你了 ![]() |