以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  选中窗口表筛选值后,同时获取其他列的值时报错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=139044)

--  作者:表叔
--  发布时间:2019/8/4 11:17:00
--  选中窗口表筛选值后,同时获取其他列的值时报错
选中窗口表筛选值后,同时获取其他列的值的时候,系统提示:.NET Framework 版本:4.0.30319.42000 Foxtable 版本:2019.6.18.1
错误所在事件:DropDownClosed
详细错误信息:
未将对象引用设置到对象的实例。
注:窗口表里面有2个字段是需要下拉窗口的,奇怪的是,同样的写法,有一个没问题,另一个却报错
If e.Selected Then \'如果选择了值
If Forms.ActiveForm.Name = "窗口.表.工序报酬录入" Then
    Dim tb As Table = Tables("窗口.员工信息查询_表.员工信息")
    If tb.Current IsNot Nothing Then
        e.Form.DropDownBox.Value = tb.Current("姓名")
        With Tables("窗口.表.工序报酬录入_表.工序报酬录入")
            .Current("工号") = tb.Current("工号")
            .Current("居民身份证号") = tb.Current("居民身份证号")
            .Current("部门") = tb.Current("部门")
            .Current("班组") = tb.Current("班组")
        End With
    End If
End If
    If e.Form.DropTable IsNot Nothing Then \'如果是通过表下拉的
        e.Form.DropTable.FinishEditing()
    Else \'如果是通过窗口下拉的
        e.Form.DropDownBox.WriteValue()
    End If
End If
蓝色部分停了以后,e.Form.DropDownBox.Value = tb.Current("姓名")可以正常执行,并且不报错。
[此贴子已经被作者于2019/8/5 7:36:06编辑过]

--  作者:有点蓝
--  发布时间:2019/8/4 21:08:00
--  
看不出什么问题。

去掉这句试试:e.Form.DropDownBox.WriteValue()