以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 窗口表按条件查询SQL符合行加载 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=137703) |
-- 作者:myjht -- 发布时间:2019/7/13 9:09:00 -- 窗口表按条件查询SQL符合行加载 项目启动,自动启动窗口 AfterLoad事件,加载指定条件的数据行到窗口绑定表中 在后台sql表zzscjjmxb中查找[工序名称] = \'裁面布\' And [_Locked] = 1"的行到变量dr中 再在后台sql表zzscjjmxb中查找"主表主键 = " & dr("主表主键") & "" 并且,工序名称 = \'" & User.Group & "\' and (默认操作工 = \'" & User.Name & "\' or 默认操作工 Is Null) and [_Locked] = 0的行加载到窗口绑定表zzscjjmxb中 用SQLFind、SQLLoad、SQLSelect,用哪个,是不是得用遍历,新手小白求教,谢谢。 错误代码如下: If User.Group = "裁面布" Then
DataTables("zzscjjmxb").LoadTop = "1"
\'Dim dt As Date = Date.Today.AddDays(-7)
DataTables("zzscjjmxb").LoadFilter = "工序名称 = \'" &
User.Group & "\' and (默认操作工 = \'" &
User.Name & "\' or 默认操作工 Is Null) and [_Locked] = 0"
DataTables("zzscjjmxb").LoadOrder = "开工日期 Desc"
DataTables("zzscjjmxb").Load()
DataTables("zzscjjmxb").LoadChildren("zzscjjzb",
"主表主键",
"_Identify")
Tables("zzscjjzb").Sort = "开工日期,序号 DESC" Else Dim drs As List(of DataRow) =
DataTables("zzscjjmxb").SQLLoad("[工序名称] = \'裁面布\' And [_Locked] =
1","","开工日期 desc") For
Each dr As DataRow In drs Dim
Filter As String Filter
= "主表主键 = "
& dr("主表主键")
& " and 工序名称 =
\'" & User.Group & "\' and
(默认操作工 =
\'" & User.Name & "\' or 默认操作工 Is Null) and [_Locked] = 0 "
DataTables("zzscjjmxb").LoadFilter = Filter
DataTables("zzscjjmxb").LoadOrder = "开工日期 Desc"
DataTables("zzscjjmxb").Load()
DataTables("zzscjjmxb").LoadChildren("zzscjjzb",
"主表主键",
"_Identify")
Tables("zzscjjzb").Sort
= "开工日期,序号 DESC" Next End If |
-- 作者:有点蓝 -- 发布时间:2019/7/13 9:48:00 -- 没看懂,截图说明一下 |
-- 作者:myjht -- 发布时间:2019/7/13 10:17:00 -- 窗口表按条件查询SQL符合行加载 此主题相关图片如下:9999999.png |
-- 作者:有点蓝 -- 发布时间:2019/7/13 10:48:00 -- Dim dr As DataRow = DataTables("zzscjjmxb").SQLFind("[工序名称] = \'裁面布\' And [_Locked] = 1","开工日期 desc") If dr Is Nothing Then Dim Filter As String Filter = "主表主键 = " & dr("主表主键") & " and 工序名称 = \'" & User.Group & "\' and (默认操作工 = \'" & User.Name & "\' or 默认操作工 Is Null) and [_Locked] = 0 " DataTables("zzscjjmxb").LoadFilter = Filter DataTables("zzscjjmxb").LoadOrder = "开工日期 Desc" DataTables("zzscjjmxb").Load() DataTables("zzscjjmxb").LoadChildren("zzscjjzb", "主表主键", "_Identify") Tables("zzscjjzb").Sort = "开工日期,序号 DESC" End If 另外不建议使用_Identify做表和业务关联,应该使用编号之类的进行关联
|
-- 作者:myjht -- 发布时间:2019/7/13 15:07:00 -- 窗口表按条件查询SQL符合行加载 有点蓝老师,这个取不到值,您再帮我看看。 Dim dr As DataRow = DataTables("zzscjjmxb").SQLFind("[工序名称] = \'裁面布\' And [_Locked] = 1","开工日期 desc") If dr Is Nothing Then Dim Filter As String \'Filter = "主表主键 = " & dr("主表主键") & " and 工序名称 = \'" & User.Group & "\' and (默认操作工 = \'" & User.Name & "\' or 默认操作工 Is Null) and [_Locked] = 0 " Filter = "主表主键 = " & dr("主表主键") & " " DataTables("zzscjjmxb").LoadFilter = Filter DataTables("zzscjjmxb").LoadOrder = "开工日期 Desc" DataTables("zzscjjmxb").Load() DataTables("zzscjjmxb").LoadChildren("zzscjjzb", "主表主键", "_Identify") Tables("zzscjjzb").Sort = "开工日期,序号 DESC" End If
|
-- 作者:有点蓝 -- 发布时间:2019/7/13 15:29:00 -- 什么东西取不到值?有符合条件的数据吗 |
-- 作者:myjht -- 发布时间:2019/7/13 15:31:00 -- 窗口表按条件查询SQL符合行加载 代码不执行,没有符合的数据 但是我数据表是很多符合这个条件的
|
-- 作者:myjht -- 发布时间:2019/7/13 15:44:00 -- 此主题相关图片如下:7777.png 其实符合条件的一共4行,结果只加载1行 此主题相关图片如下:88888.png |
-- 作者:有点蓝 -- 发布时间:2019/7/13 16:18:00 -- 上传实例说明。如果是副本表,看看:http://www.foxtable.com/webhelp/topics/1906.htm |