以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]用Table控件模拟关联表的例子  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=25596)

--  作者:wayiok
--  发布时间:2012/11/12 21:50:00
--  [求助]用Table控件模拟关联表的例子
参考帮助文件中的用Table控件模拟关联表的程序例子,改写了如下程序,
想在打开窗口后,Tables("发货确认_Table1")中显示订单=当前订单号,且发运列=False或发运列为空的订单。

Dim t As Table = Tables("发货确认_Table1")
With Tables("订单跟踪")
    If .Current Is Nothing Then
        t.Filter = "False"
    Else
\'        t.Filter =" 订单号 = \'" & .Current("订单号")&"\'"
        t.Filter =" 订单号 = \'" & .Current("订单号")&"\'" And " 发运 = False Or 发运 Is Null"
    End If
End With

但是,仅显示“订单=当前订单号”就能正常运行,加上And " 发运 = False Or 发运 Is Null",就提示出错:
从字符串“订单号=‘D2012101501’”到类型“Long”的转换无效。--->输入字符串的格式不正确。

该如果修改?
请指教~
[此贴子已经被作者于2012-11-12 22:04:23编辑过]

--  作者:布莱克朱
--  发布时间:2012/11/12 22:26:00
--  
Dim t As Table = Tables("发货确认_Table1")
With Tables("订单跟踪")
    If .Current Is Nothing Then
        t.Filter = "False"
    Else
\'        t.Filter =" 订单号 = \'" & .Current("订单号")&"\'"
        t.Filter =" 订单号 = \'" & .Current("订单号")&"\' And 发运 = False Or 发运 Is Null"   请确认发运是什么列  为什么写两次条件 而且是不同的写法?
    End If
End With
--  作者:wayiok
--  发布时间:2012/11/13 8:11:00
--  
 发运列是逻辑列。
上面的那句可以运行,前面我加了单引号后,再写的下面那一句。
--  作者:狐狸爸爸
--  发布时间:2012/11/13 8:17:00
--  
Dim t As Table = Tables("发货确认_Table1")
With Tables("订单跟踪")
    If .Current Is Nothing Then
        t.Filter = "False"
    Else
        t.Filter ="订单号 = \'" & .Current("订单号") &"\' And (发运 = False Or 发运 Is Null)"
    End If
End With