以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  模拟关联表提示错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=140569)

--  作者:Jaime
--  发布时间:2019/9/9 9:52:00
--  模拟关联表提示错误
老师好! 

      我用模拟关联了计划单和计划明细,下面计划明细表做了同表关联,窗口类型设置的副本,现在计划单和计划明细报错,找不出原因,烦请老师指导下
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:模拟关联表测试.table



--  作者:有点蓝
--  发布时间:2019/9/9 9:58:00
--  
字符列使用单引号引起来

    If .Current Is Nothing Then
        t.Filter = "False"
    Else
        t.Filter = "计划单号 = \'" & .Current("计划单号") & "\'"
    End If

--  作者:Jaime
--  发布时间:2019/9/9 10:24:00
--  
谢谢蓝老师,加了单引号字符列的错误解决了。


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

Dim t As Table = Tables("计划_Table3")
If e.Table.Current IsNot Nothing Then \'如果Current为Nothing
    Dim dr As DataRow = e.Table.Current.DataRow
    t.Filter = "物资ID = \'" & dr("物资ID") & "\' And 单位名称 = \'" & dr("单位名称") & "\'"
    Dim wz As Integer = Tables("计划_Table2").FindRow(dr)
    If wz >= 0 Then
        Tables("计划_Table3").Position = wz
    End If
Else
    t.Filter = "False"
End If

--  作者:有点蓝
--  发布时间:2019/9/9 10:49:00
--  
Dim t3 As Table = Tables("计划_Table3")
Dim filter As String
With Tables("计划_Table1")
    If .Current Is Nothing Then
        filter = "False"
    Else
        filter = "计划单号 = \'" & .Current("计划单号") & "\'"
    End If
End With

If e.Table.Current IsNot Nothing Then \'如果Current为Nothing
    If filter  > "" Then filter  = filter  & " and 计划单号 <> \'" & e.Table.Current("计划单号") & "\'"
    t3.Filter = filter 
End If

--  作者:Jaime
--  发布时间:2019/9/9 11:16:00
--  
蓝老师,在CurrentChanged事件运行了上面代码,历史栏里不出任何内容了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:模拟关联表测试.table

--  作者:有点蓝
--  发布时间:2019/9/9 11:32:00
--  
都是同一个计划单的,当然不会显示,自己改为合适的条件

If filter  > "" Then filter  = filter  & " and 计划单号 <> \'" & e.Table.Current("计划单号") & "\'"

--  作者:Jaime
--  发布时间:2019/9/10 0:41:00
--  
已经解决了,谢谢蓝老师指导!
Dim t3 As Table = Tables("计划_Table3")
Dim filter As String
With Tables("计划_Table1")
    If .Current Is Nothing Then
        filter = "False"
    Else
        filter = "计划单号 = \'" & .Current("计划单号") & "\'"
    End If
End With
If e.Table.Current IsNot Nothing Then \'如果Current为Nothing
    If filter  > "" Then filter  = " 物资ID = \'" & e.Table.Current("物资ID") & "\' And 单位名称 = \'" & e.Table.Current("单位名称") & "\'and 计划单号 <> \'" & e.Table.Current("计划单号") & "\'"
    t3.Filter = filter
    t3.Sort = "日期 DESC"
End If
[此贴子已经被作者于2019/9/10 0:41:31编辑过]