以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  内部表与外部表数据关系  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=128271)

--  作者:ZJZK2018
--  发布时间:2018/12/2 22:34:00
--  内部表与外部表数据关系
有一个“录入”内部表和一个“纪录范例"” 外部表,下面代码执行正常,增加或删除都可以,但我在“DataTables("纪录范例").SQLFind("内容 =” 加了个“SQL”后执行就不正常了,增加时重复增加,删除时出现错误提示,因为最后“纪录范例"” 外部表是不加载到软件里面的,这种情况如何处理?

    Case "存入系统"
        Dim fdr As DataRow = DataTables("纪录范例").Find("内容 = \'" & dr("内容") & "\' And 检查种类 = \'" & dr("检查种类") & "\'")
        If dr.IsNull("内容") = False Then
            If e.NewValue = True AndAlso fdr Is Nothing Then
                Dim ndr As DataRow  = DataTables("纪录范例").AddNew()
                ndr("工程类型") = "房建工程"
                ndr("内容") = dr("内容")
                ndr("资料名称") = dr("资料名称")
                ndr("旁站类别") = dr("旁站类别")
                ndr("工作类型") = dr("工作类型")
                ndr("检查种类") = dr("检查种类")
                ndr.Save()
            Else
                If fdr("审核") = False Then
                    fdr.Delete()
                End If
            End If
        Else
            MessageBox.Show("请输入内容后,再执行!")
        End If


.NET Framework 版本:2.0.50727.5477
Foxtable 版本:2018.9.9.1
错误所在事件:表,录入,DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。


--  作者:有点甜
--  发布时间:2018/12/2 23:27:00
--  

1、你要判断fdr是不是为nothing;

 

2、对于sqlfind的行,加入msgbox看是否找到对应的行;

 

3、做个例子发上来测试。


--  作者:ZJZK2018
--  发布时间:2018/12/3 12:06:00
--  
对于sqlfind的行,加入msgbox找到对应的行了,但fdr.Delete()为什么执行不了??
--  作者:有点甜
--  发布时间:2018/12/3 12:56:00
--  
以下是引用ZJZK2018在2018/12/3 12:06:00的发言:
对于sqlfind的行,加入msgbox找到对应的行了,但fdr.Delete()为什么执行不了??

 

为什么用delete?不能用sqldeletefor?http://www.foxtable.com/webhelp/scr/2899.htm