以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 请指教:循环赋值代码 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=134847) |
-- 作者:cxmxjwlmq -- 发布时间:2019/5/10 14:16:00 -- 请指教:循环赋值代码 各位老师: 我想在代码中实现:当循环第一次时,表中单元格13,0的值是1,13,1的值是AB,循环第二次时:表中单元格14,0的值是2,14,1的值是BC,依次类推! Dim Multi As String = "AB|BC|CD|DE" 这段代码在命令窗口实现了我想要的结果, AB BC CD DE 1 2 3 4 但怎样将循环值赋给单元格,并且每循环一次将单元格的行数增加一,这段代码折腾了好几天写不出来 Sheet(13,0).Value = xh 请各位老师指点! 谢谢! |
-- 作者:有点甜 -- 发布时间:2019/5/10 14:56:00 -- Dim Multi As String = "AB|BC|CD|DE" Dim Values() As String = Multi.split("|") Dim fs As String = Values.Length For Index As Integer = 0 To Values.Length - 1 Output.Show(index+1 & " " & Values(Index)) \'Sheet(13+Index,0).Value = index+1 \'Sheet(13+Index,1).Value = Values(Index) Next |
-- 作者:cxmxjwlmq -- 发布时间:2019/5/10 15:41:00 -- 谢谢甜老师指导! |
-- 作者:cxmxjwlmq -- 发布时间:2019/5/10 16:15:00 -- 甜老师: Dim bljypz As Integer = DataTables("部品质量管理").getValues("编号图号", "检验员 = \'" & Values(Index) & "\' And 检验区分 = \'其它\' And 日期>= # " & d1 & "# And 日期<= # " & d & "#").count 我想在循环完后的下一行求和,但得出的是最后一个值,不是求和,可能标红的变量不对,但我摸不出头绪,还请老师给指点一下,拨拨谜雾! 谢谢! |
-- 作者:有点甜 -- 发布时间:2019/5/10 16:30:00 --
不理解你说的求和,是哪些数据求和,请具体举例说明。
|
-- 作者:cxmxjwlmq -- 发布时间:2019/5/10 17:33:00 -- 检验员有多个人,每个人检验的品种数不一样,要对这些检验员检验品种数进行求和! 检验员1检了12个品种,bljypz=12 检验员2检了10个品种,bljypz=10 ... 检验员N检了8个品种,bljypz=8 对所有检验员检验品种求和。 If bljypz = "0" Then Sheet(13+Index+1,2 ).Value = "" Else Sheet(13+Index+1,2 ).Value = 12+10+..+8
谢谢! |
-- 作者:有点甜 -- 发布时间:2019/5/10 18:27:00 -- 定义 Dim bljypz As Integer = 0 在循环的外面
在循环的过程中,累加值,如
bljypz += 每次的个数 \'12、10等
|
-- 作者:cxmxjwlmq -- 发布时间:2019/5/10 19:42:00 -- 甜版:我有点懵,这是我的代码,您费心给改改!
Dim zhkdmjyy As DataRow = DataTables("组合框代码").DataRows(11) \'组合框代码中的第11行 Dim Multi As String = zhkdmjyy("列表项目") \'组合框代码中的第11行的列表项目一列的值 Dim Values() As String = Multi.split("|") \'用号分割成姓名数据 For Index As Integer = 0 To Values.Length - 1 \'从0开始 Sheet(13+Index,0).Value = index+1 \'从1开始 Sheet(13+Index,1).Value = Values(Index) \'从0开始的姓名 Dim bljypz As Integer = DataTables("部品质量管理").getValues("编号图号", "检验员 = \'" & Values(Index) & "\' And 检验区分 = \'其它\' And 日期>= # " & d1 & "# And 日期<= # " & d & "#").count \'对不重复的图号进行计数 If bljypz = "0" Then Sheet(13+Index,2 ).Value = " " Else Sheet(13+Index,2 ).Value = bljypz Dim bljysl As Integer = DataTables("部品质量管理").Compute("Sum([交检])", "检验员 = \'" & Values(Index) & "\' And 检验区分 = \'其它\' And 日期>= # " & d1 & "# And 日期<= # " & d & "#") If bljysl = "0" Then Sheet(13+Index,3 ).Value = " " Else Sheet(13+Index,3 ).Value = bljysl Sheet(13+Index+1,0).Value = index+1+1 Sheet(13+Index+1,1).Value = "合计" If bljypz = 0 Then Sheet(13+Index+1,2 ).Value = "" Else Sheet(13+Index+1,2 ).Value = bljypz If bljysl = 0 Then Sheet(13+Index+1,3 ).Value = "" Else Sheet(13+Index+1,3 ).Value = bljysl Next
谢谢! |
-- 作者:有点蓝 -- 发布时间:2019/5/10 20:30:00 -- Dim bljypz As Integer = DataTables("部品质量管理").getValues("编号图号", "检验员 = \'" & Values(Index) & "\' And 检验区分 = \'其它\' And 日期>= #" & d1 & "# And 日期<= #" & d & "#").count \'对不重复的图号进行计数 If bljypz = "0" Then Sheet(13+Index,2 ).Value = " " Else Sheet(13+Index,2 ).Value = bljypz Dim bljysl As Integer = DataTables("部品质量管理").Compute("Sum([交检])", "检验员 = \'" & Values(Index) & "\' And 检验区分 = \'其它\' And 日期>= #" & d1 & "# And 日期<= #" & d & "#")
|
-- 作者:cxmxjwlmq -- 发布时间:2019/5/10 21:40:00 -- 蓝老师:主要是实现标红的两句代码, If bljypz = 0 Then Sheet(13+Index+1,2 ).Value = "" Else Sheet(13+Index+1,2 ).Value = bljypz ‘对所有检验员的bljypz进行求和后赋值在表的单元格内 If bljysl = 0 Then Sheet(13+Index+1,3 ).Value = "" Else Sheet(13+Index+1,3 ).Value = bljysl ‘对所有检验员的bljysl进行求和后赋值在表的单元格内 谢谢! |