以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] drawcell是否可以做为条件加载窗口中的表  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=180107)

--  作者:riverzhang163
--  发布时间:2022/9/28 14:19:00
--  [求助] drawcell是否可以做为条件加载窗口中的表
请教老师,我想建立一个窗口(下拉),窗口中有个表,想在窗口AFTERLOAD写一个语句,在打开窗口后加载的表是只显示 STYLE 为“未采购”的表,请问要怎么写? 谢谢
--  作者:有点蓝
--  发布时间:2022/9/28 14:22:00
--  
根据STYLE 的条件加载,比如DrawCell事件中设置如下代码:

\'如果是数值型列,且不是总分列
If
 e.Col.IsNumeric AndAlso e.Col.Name <> "总分" Then
    If
 e.Row.IsNull(e.Col.Name) = False \'且该列已经输入内容
        
If e.Row(e.Col.Name) < 60 Then \'如果该列的值小于60
            e.Style = 
"不及格" \'那么用"不及格"样式绘制单元格
        
ElseIf e.Row(e.Col.Name) > 95 Then \'如果单元格的值大于95
            e.Style = 
"优秀" \'那么用"优秀"样式绘制单元格
        
End If
    End
 If
End
 
If


那么AFTERLOAD写一个语句筛选不及格的数据,就是这种

tables(“成绩”).filter = "总分 60"


--  作者:riverzhang163
--  发布时间:2022/9/28 15:13:00
--  
我的DRAWCELL 是这样写的:

dim pr as datarow
pr = datatables("物料采购明细").find("生产订单号 = ‘” & e.row("订单号码") & "\' and 物料名称及编号 = ’“& e.row("材料名称货号”)& “‘”)
If pr is nothing then
e.style = "未采购"
end if

没有具体参考哪一列

请问要怎样写? 谢谢!

--  作者:有点蓝
--  发布时间:2022/9/28 15:25:00
--  
比如

tables("窗口1_table1").fill("select * from {xx表} where 订单号码+材料名称货号 not in (select 生产订单号+物料名称及编号 from 物料采购明细)",false)

--  作者:riverzhang163
--  发布时间:2022/9/28 18:21:00
--  
运行错误,显示“对于不返回任何基表信息的SelectCommand不支持动态SQL生成。         不好意思,请老师帮忙。   谢谢!
--  作者:有点蓝
--  发布时间:2022/9/29 8:30:00
--  
贴出代码!
--  作者:riverzhang163
--  发布时间:2022/9/29 10:04:00
--  
Afterload            

tables("未采购明细_table1").fill("select * from {订单材料需求表} where 订单号码+材料名称货号 not in (select 生产订单号+物料名称及编号 from 物料采购明细)",false)


--  作者:有点蓝
--  发布时间:2022/9/29 10:17:00
--  
这些是内部表还是外部表?是不是临时表、查询表?
--  作者:riverzhang163
--  发布时间:2022/9/29 10:18:00
--  
订单材料需求表 是查询表,物料采购明细是外部表
--  作者:有点蓝
--  发布时间:2022/9/29 10:25:00
--  
......名称及编号 from 物料采购明细)","数据源",true)

[此贴子已经被作者于2022/9/29 10:25:12编辑过]