以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求教,复选框不选中  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=26415)

--  作者:baoxyang
--  发布时间:2012/12/3 17:30:00
--  求教,复选框不选中

请教,sql Table表中是否不能使用含有NOT EXISTS 语句造成复选框无法选中.如果没有的话,复选框是可以选中的.

请老大看看!!


--  作者:狐狸爸爸
--  发布时间:2012/12/3 17:37:00
--  
呵呵,没有明白你的问题。
--  作者:sgs
--  发布时间:2012/12/3 17:39:00
--  

既然是sqltable,没有理由不支持NOT EXISTS 的

楼主发个文件看下呗


--  作者:baoxyang
--  发布时间:2012/12/3 17:44:00
--  

Dim ss As String
If Vars("分公司") = "上海总公司" Then
    ss = "select a.托运单号,a.商场编号,a.客户简称,a.目的城市,a.条码单号,a.配送点,a.取消日期,a.预约配送日,a.预约状态,a.紧急否,a.海报否,d.预约内容,a.货物件数 as 件数,dbo.ClearZero(a.计价重量) as 计价重量,dbo.ClearZero(a.计价体积) as 计价体积,dbo.ClearZero(a.总费用) as 总费用 "
    ss = ss & "from 托运单据 As a left join (Select c.* from (Select max(ID) As id,托运单号 from 托运预约 group by 托运单号) b left join 托运预约 c on b.id = c.id and b.托运单号 = c.托运单号) As d on a.托运单号 =d.托运单号 WHERE NOT EXISTS (SELECT * FROM {条码单据} WHERE {条码单据}.条码单号 = a.条码单号) "
    ss = ss & " And a.单据状态 = \'开单入库\' and a.销单否 = \'否\' and a.标记 = 0"
Else
    ss = "select a.托运单号,a.商场编号,a.客户简称,a.目的城市,a.条码单号,a.配送点,a.取消日期,a.预约配送日,a.预约状态,a.紧急否,a.海报否,d.预约内容,a.货物件数 as 件数,dbo.ClearZero(a.计价重量) as 计价重量,dbo.ClearZero(a.计价体积) as 计价体积,dbo.ClearZero(a.总费用) as 总费用 "
    ss = ss & "from 托运单据 As a left join (Select c.* from (Select max(ID) As id,托运单号 from 托运预约 group by 托运单号) b left join 托运预约 c on b.id = c.id and b.托运单号 = c.托运单号) As d on a.托运单号 =d.托运单号 WHERE NOT EXISTS (SELECT * FROM {条码单据} WHERE {条码单据}.条码单号 = a.条码单号) "
    ss = ss & " And a.单据状态 = \'开单入库\' and a.销单否 = \'否\' and a.标记 = 0 and a.分公司 = \'" & Vars("分公司") & "\'"
End If
Tables("S托运明细选择_Table1").Fill(ss,"baox",True)
If Functions.Execute("显示设置",1) = False Then
    Dim tg1 As String = "托运单号,90|客户简称,100|配送点,130|线路名,50|取消日期,70|预约配送日,70|预约状态,50|预约内容,120|件数,40|计价重量,60|计价体积,60|总费用,60|紧急否,35|海报否,35"
    Functions.Execute("显示列",Tables("S托运明细选择_Table1"),tg1)
End If
Tables("S托运明细选择_Table1").AutoSizeRows()

 

在表中是可以显示数据的,关键是无法选中复选框.

[此贴子已经被作者于2012-12-3 17:45:05编辑过]

--  作者:baoxyang
--  发布时间:2012/12/3 17:47:00
--  

If Vars("分公司") = "上海总公司" Then
    If st <> "" Then
        ss = "Select a.托运单号,a.商场编号,a.客户简称,a.目的城市,a.条码单号,a.配送点,a.取消日期,a.预约配送日,a.预约状态,a.紧急否,a.海报否,d.预约内容,a.货物件数 as 件数,dbo.ClearZero(a.计价重量) as 计价重量,dbo.ClearZero(a.计价体积) as 计价体积,dbo.ClearZero(a.总费用) as 总费用 "
        ss = ss & "from 托运单据 As a left join (Select c.* from (Select max(ID) As id,托运单号 from 托运预约 group by 托运单号) b left join 托运预约 c on b.id = c.id and b.托运单号 = c.托运单号) As d on a.托运单号 =d.托运单号,条码单据 as p where a.条码单号 = p.条码单号 and p.状态 <> \'初始\' and a.单据状态 = \'开单入库\' and a.销单否 = \'否\' and a.单据性质 = \'正常单\' and a.标记 = 0 and a.目的城市 = \'"& st &"\' and a.预约状态 = \'未预约\'"
    Else
        ss = "select a.托运单号,a.商场编号,a.客户简称,a.目的城市,a.条码单号,a.配送点,a.取消日期,a.预约配送日,a.预约状态,a.紧急否,a.海报否,d.预约内容,a.货物件数 as 件数,dbo.ClearZero(a.计价重量) as 计价重量,dbo.ClearZero(a.计价体积) as 计价体积,dbo.ClearZero(a.总费用) as 总费用 "
        ss = ss & "from 托运单据 As a left join (Select c.* from (Select max(ID) As id,托运单号 from 托运预约 group by 托运单号) b left join 托运预约 c on b.id = c.id and b.托运单号 = c.托运单号) As d on a.托运单号 =d.托运单号,条码单据 as p where a.条码单号 = p.条码单号 and p.状态 <> \'初始\' and a.单据状态 = \'开单入库\' and a.销单否 = \'否\' and a.单据性质 = \'正常单\' and a.标记 = 0 and  a.预约状态 = \'未预约\'"
    End If
Else
    If st <> "" Then
        ss = "Select a.托运单号,a.商场编号,a.客户简称,a.目的城市,a.条码单号,a.配送点,a.取消日期,a.预约配送日,a.预约状态,a.紧急否,a.海报否,d.预约内容,a.货物件数 as 件数,dbo.ClearZero(a.计价重量) as 计价重量,dbo.ClearZero(a.计价体积) as 计价体积,dbo.ClearZero(a.总费用) as 总费用 "
        ss = ss & "from 托运单据 As a left join (Select c.* from (Select max(ID) As id,托运单号 from 托运预约 group by 托运单号) b left join 托运预约 c on b.id = c.id and b.托运单号 = c.托运单号) As d on a.托运单号 =d.托运单号,条码单据 as p where a.条码单号 = p.条码单号 and p.状态 <> \'初始\' and a.单据状态 = \'开单入库\' and a.销单否 = \'否\' and a.单据性质 = \'正常单\' and a.标记 = 0 and a.目的城市 = \'"& st &"\' and a.预约状态 = \'未预约\' and a.分公司 = \'" & Vars("分公司") & "\'"
    Else
        ss = "select a.托运单号,a.商场编号,a.客户简称,a.目的城市,a.条码单号,a.配送点,a.取消日期,a.预约配送日,a.预约状态,a.紧急否,a.海报否,d.预约内容,a.货物件数 as 件数,dbo.ClearZero(a.计价重量) as 计价重量,dbo.ClearZero(a.计价体积) as 计价体积,dbo.ClearZero(a.总费用) as 总费用 "
        ss = ss & "from 托运单据 As a left join (Select c.* from (Select max(ID) As id,托运单号 from 托运预约 group by 托运单号) b left join 托运预约 c on b.id = c.id and b.托运单号 = c.托运单号) As d on a.托运单号 =d.托运单号,条码单据 as p where a.条码单号 = p.条码单号 and p.状态 <> \'初始\' and a.单据状态 = \'开单入库\' and a.销单否 = \'否\' and a.单据性质 = \'正常单\' and a.标记 = 0 and  a.预约状态 = \'未预约\' and a.分公司 = \'" & Vars("分公司") & "\'"
    End If
End If
Tables("S托运明细选择_Table1").Fill(ss,"baox",True)

以后代码执行显示的数据是可以选中复选框的.我分析唯一不同是没有NOT EXISTS 语句出现哦.


--  作者:狐狸爸爸
--  发布时间:2012/12/3 17:50:00
--  

头晕,你先用简单的代码去分析判断吧。

另外是否支持 Not Exist,和foxtable无关,和sqltable无关,和你采用的数据源有关,如果没有报错,就说明支持,结果不对,就是你语句不对。


--  作者:baoxyang
--  发布时间:2012/12/3 18:23:00
--  

都能正常显示出数据呀,关键是复选框一个可以选中,一个不可以.同一张表上.


--  作者:baoxyang
--  发布时间:2012/12/3 19:15:00
--  

老大,经测试初步确认为 Not Exist在SQL Table中复选框不能选中的问题.应当是Bug.请老大看看!!


--  作者:baoxyang
--  发布时间:2012/12/3 19:37:00
--  

9月之前版本好像是可以的.因为代码没有变动.我目前是10月22日.现在已回不到9月前版本了.还得麻烦老大解决下.

现在项目遇到难题哦.


--  作者:狐狸爸爸
--  发布时间:2012/12/4 8:35:00
--  

1、请升级到最新的版本。

2、如果还有问题,做个简单的例子发上来测试。