以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  窗体中动态加载失败  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=187408)

--  作者:creastzh
--  发布时间:2023/7/15 14:55:00
--  窗体中动态加载失败
我在进行窗体动态加载后出现无法满足条件的加载项时,屏幕出现如下提示,不知如何处理,请狐友帮忙,谢谢!
图片点击可在新窗口打开查看


--  作者:creastzh
--  发布时间:2023/7/15 14:57:00
--  
补充一下:如果有满足条件的数据行加载正常,只有当不存在满足给定条件的数据行时,窗体才出现这个提示
--  作者:有点蓝
--  发布时间:2023/7/15 15:07:00
--  
调试哪一句代码出错:http://www.foxtable.com/webhelp/topics/1485.htm

这种提示就是没有做判断是否【存在满足给定条件的数据行】,使用了空值的对象

--  作者:creastzh
--  发布时间:2023/7/15 15:21:00
--  
问题就出在下面红色标记的语句上:

\'1 按RadioButton的要求完成数据加载(这个已经在CheckedChanged中完成刷新
\'2 按各选项组合框、文本框对加载后的数据进行筛选
\'Dim wo As e.Form.Controls("TBox_WO").Value \'e.Form.Controls("cmbProduct").Value = Nothing
\'Dim PN As e.form.controls("TBox_PN").Value
\'Dim Res As e.form.controls("TBox_Res").Value

Dim Filter As String
With e.Form.Controls("TBox_WO")
    If .Value IsNot Nothing Then
        Filter = "[WO] like \'%" & .Value.toupper.trim & "%\'" \'[型号] Like \'A[*]%\'
    End If
End With
With e.Form.Controls("TBox_PN")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "[PartID] like \'%" & .Value.ToUpper.Trim & "%\'"
    End If
End With
With e.Form.Controls("TBox_Res")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "ResID = \'" & .Value.ToUpper.trim & "\'"
    End If
End With
With e.Form.Controls("ComboBox2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "处理班组 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("ComboBox3")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "责任班组 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("StartDate")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "发现时间 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "发现时间 < #" & .Value.adddays(1) & "#"
    End If
End With
\'If e.Form.Controls("rdoYifu").Checked = True  Then\' 如果付款状态选择了"已付"
\'    If Filter > "" Then
\'        Filter = Filter & " And "
\'    End If
\'    Filter = Filter & "已付款 = True"
\'End If
\'If e.Form.Controls("rdoWeifu").Checked = True  Then\' 如果付款状态选择了"未付"
\'    If Filter > "" Then
\'        Filter = Filter & " And "
\'    End If
\'    Filter = Filter & "已付款 = False Or 已付款 Is Null"
\'End If
If Filter > "" Then
    Tables("AddtionalWOData").Filter = Filter
End If

我知道就是这个问题,如果是Table的显示,我知道如何处理,但这个加载我找了帮助,还是没有解决方案

[此贴子已经被作者于2023/7/15 15:22:22编辑过]

--  作者:creastzh
--  发布时间:2023/7/15 15:25:00
--  
我目前的窗体窗口方案是,仅加载我点选的部分,而非全部加载+显示点选的部分,如果是后者,我能解决了,但前者我不知道如何屏蔽这个错误
--  作者:有点蓝
--  发布时间:2023/7/15 15:33:00
--  
弹出合成的条件看看:msgbox(Filter)

看错误提示应该不是这句代码的问题。勾选“显示详细信息”显示的是什么事件出错?

--  作者:creastzh
--  发布时间:2023/7/15 15:56:00
--  
能帮我再看一下吗?这个我解决不了呀,谢谢!
--  作者:有点蓝
--  发布时间:2023/7/15 15:58:00
--  
弹出合成的条件看看啊,看看条件是否正常:msgbox(Filter)

勾选“显示详细信息”显示的是什么事件出错都不会?


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



--  作者:creastzh
--  发布时间:2023/7/15 21:04:00
--  
看起来不应该有问题呀,这个是加载条件,不是表内筛选呀

Msgbox.show(Filter):
发现时间 >= #2023-07-16# And 发现时间 < #2023-07-22#


.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:AddtionalWOData,CurrentChanged
详细错误信息:
Object reference not set to an instance of an object.





--  作者:chnfo
--  发布时间:2023/7/16 19:09:00
--  
if t.current isnot nothing then 
……
end if