以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 如何根据选项确定子查询是否生效  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=87491)

--  作者:huangfanzi
--  发布时间:2016/7/12 18:13:00
--  [求助] 如何根据选项确定子查询是否生效
在窗口中有一“CheckBox_检测时间”,在执行查询语句前如果选中此项就执行以下代码:
Tables(e.Form.Name & "_Table1").Fill("s elect 工序,道次,卷号,(s elect top 1 [检测时间] from {性能检测} b where a.记录标记1 = b.工序记录标记 order by 检测时间 desc) as 检测时间, 状态,......
如果没有选中此项,就不执行子查询,如下:
Tables(e.Form.Name & "_Table1").Fill("s elect 工序,道次,卷号,状态, ......
请问老师应该如何写,谢谢!

--  作者:大红袍
--  发布时间:2016/7/12 18:31:00
--  

If e.Form.Controls("CheckBox_检测时间").Checked Then

 

Else

 

End If


--  作者:huangfanzi
--  发布时间:2016/7/12 19:14:00
--  
子查询有很多,有多种组合形式,如果用IF语句,写出来的代码不合适啊,能不能在 S ELECT语句中用类似IF的语句。
--  作者:大红袍
--  发布时间:2016/7/12 19:42:00
--  

动态合成

 

Dim sql As String = "select 第一列, 第二列,"

 

If 控件1.Checked Then sql = sql & " 子查询 as 第三列,"

 

If 控件2.Checked Then sql = sql & " 子查询 as 第四列,"

 

msgbox(sql.Trim(",") & Fr om {表A})