以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 循环组合 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=119094) |
-- 作者:扶风 -- 发布时间:2018/5/17 15:02:00 -- 循环组合 if A=0 then update 数据1=A else //if A=1 msgbox A已结案 if B=0 then update 数据1=B else //if B=1 msgbox B已结案 老师例如有好几个ABCDEFG之类的,之前是单独写的所以方便,现在想写在一起,因为有许多排列组合,不可能全部if出来,如何写方便呢? 比如IF A=0,C=0就 update A和C,msgbox B(其他的)已结案
|
-- 作者:有点甜 -- 发布时间:2018/5/17 15:27:00 -- 具体一点你的问题,逻辑是怎样的?或者用实例说明。 |
-- 作者:扶风 -- 发布时间:2018/5/17 15:43:00 -- if A=0 then update 数据1=A else msgbox A已结案 if B=0 then update 数据2=B else msgbox B已结案 if C=0 then update 数据3=C else msgbox C已结案 比如目前这3个本来是3个按钮控制的,分段式的,各管各的 现在需要一键控制,这样不是就可能出现组合吗 比如 if A=0 then update 数据1=A else msgbox B,C已结案 if B=0 then update 数据2=B else msgbox A,C已结案 if A=0 then update 数据1=A else msgbox B,C已结案 if B=0 and A=0 then update 数据2=B,数据1=A else msgbox C已结案 如何用一个语句写出来,而不是写多个if全部举出来 [此贴子已经被作者于2018/5/17 15:45:03编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/5/17 15:53:00 -- 判断变量是不是0?如果是0,就update,不是0,就msgbox?
Dim ary1() As String = {"A", "B", "C"} |
-- 作者:扶风 -- 发布时间:2018/5/21 15:52:00 -- Dim c1 As String = Forms("测试窗口").Controls("TextBox29" ).Value Dim df1 As String = Forms("测试窗口").Controls("TextBox19" ).Value Dim D1 As String = Forms("测试窗口").Controls("TextBox9" ).Value Dim t1 As String = Forms("测试窗口").Controls("TextBox8" ).Value Dim bh As String = Forms("测试窗口").Controls("TextBox39").Value Dim wz As Integer = Tables("项目测试数据看板").FindRow("项目编号 = \'" & bh & "\'") Dim ary1() As String = {"C", "D1","T","F","D2","L","BDV"} Dim str As String = "" For i As Integer = 0 To ary1.length-1 If ary1(i) = "C" And Tables("项目测试数据看板").Current("C")=False Then Dim cmd1 As New SQLCommand cmd1.C cmd1.CommandText = "u pdate {测试数据库} set [C] =\'"& c1 &"\',[DF]=\'"& df1 &"\' where 项目编号 = \'" & bh & "\' and 样本编号 =1" cmd1.ExecuteNonQuery cmd1.CommandText = "u pdate {项目测试数据看板} set [C] =1 where 项目编号 = \'" & bh & "\' " cmd1.ExecuteNonQuery Else If ary1(i) = "D1" And Tables("项目测试数据看板").Current("D1")=0 Then Dim cmd1 As New SQLCommand cmd1.C cmd1.CommandText = "u pdate {测试数据库} set [D1] =\'"& D1 &"\' where 项目编号 = \'" & bh & "\' and 样本编号 =1" cmd1.ExecuteNonQuery cmd1.CommandText = "u pdate {项目测试数据看板} set [D1] =1 where 项目编号 = \'" & bh & "\' " cmd1.ExecuteNonQuery Else If ary1(i) = "T" And Tables("项目测试数据看板").Current("T")=0 Then Dim cmd1 As New SQLCommand cmd1.C cmd1.CommandText = "u pdate {测试数据库} set [T] =\'"& t1 &"\' where 项目编号 = \'" & bh & "\' and 样本编号 =1" cmd1.ExecuteNonQuery cmd1.CommandText = "u pdate {项目测试数据看板} set [T] =1 where 项目编号 = \'" & bh & "\' " cmd1.ExecuteNonQuery Else MessageBox.Show("已结案,不能再次操作!") Return End If Next 老师,如上,如果其中比如D1我单独反结案又变回了0,此时再点击,跳出的是"已结案,不能再次操作!",如何能做到点击后单独把D1变为1 想法是点击后如果是0的就全部变为1,是1的就跳已结案
[此贴子已经被作者于2018/5/21 16:50:31编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/5/21 15:55:00 -- 没看懂你想表达什么,请上传一个具体的实例,说明你要做的功能。 |
-- 作者:扶风 -- 发布时间:2018/5/21 16:53:00 -- Dim c1 As String = Forms("测试窗口").Controls("TextBox29" ).Value Dim df1 As String = Forms("测试窗口").Controls("TextBox19" ).Value Dim bh As String = Forms("测试窗口").Controls("TextBox39").Value Dim wz As Integer = Tables("项目测试数据看板").FindRow("项目编号 = \'" & bh & "\'") If Tables("项目测试数据看板").Current("C")=False Then Dim cmd1 As New SQLCommand cmd1.C cmd1.CommandText = "u pdate {测试数据库} set [C] =\'"& c1 &"\',[DF]=\'"& df1 &"\' where 项目编号 = \'" & bh & "\' and 样本编号 =1" cmd1.ExecuteNonQuery cmd1.CommandText = "u pdate {项目测试数据看板} set [C] =1,[DF]=1 where 项目编号 = \'" & bh & "\' " cmd1.ExecuteNonQuery MessageBox.Show("结案成功!") Else MessageBox.Show("已结案,不能再次操作!") Return End If 老师,之前是这样子的,每个单独分开的,比如C,D,F都有各自的按钮就3个了,现在想弄个一键按钮,把所有的都一次性生成,就大致是上面5楼的样子,想法是这样的
[此贴子已经被作者于2018/5/21 16:56:59编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/5/21 17:01:00 -- 那你直接把你以前那些按钮的代码写在一起,就可以了的啊。 [此贴子已经被作者于2018/5/21 17:01:05编辑过]
|
-- 作者:扶风 -- 发布时间:2018/5/23 17:30:00 -- 老师,都写在一起后,如下 If Tables("项目测试数据看板").Current("C")=0 Then update c=1 Else If Tables("项目测试数据看板").Current("D1")=0 Then update D1=1 Else If Tables("项目测试数据看板").Current("T")=0 Then update T=1 如果这么写,结果就是点击后IF第一个语句成立了,然后就结束了,C=1,D1和T还是0 再点一下,D1=1了,再点一下T=0,这又是点3下了,而不是我想要的点一下全部1了
|
-- 作者:有点甜 -- 发布时间:2018/5/23 17:32:00 -- If Tables("项目测试数据看板").Current("C")=0 Then |