Foxtable(狐表)用户栏目专家坐堂 → 生产模数插入模具保养


  共有3264人关注过本帖树形打印复制链接

主题:生产模数插入模具保养

帅哥哟,离线,有人找我吗?
edisontsui
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
生产模数插入模具保养  发帖心情 Post By:2019/8/20 13:07:00 [显示全部帖子]

If User.Group = "行政" Or User.name = "开发者"
    If CurrentTable.name.contains("模具保养")
        For Each r As Row In Tables("生产模数统计").rows
'            Dim NY As String = r("年") & r("月")
'            If NY.length = 5
'                NY = r("年") & "0" & r("月")
'            Else
'                NY = r("年") & r("月")
'            End If
            If r("模具型号") = ""
            Else
                Dim contains As Boolean = False
                For Each dr As DataRow In DataTables("模具保养").DataRows
'                    If dr("年月") = NY
                        If dr("模具型号") = r("模具型号")
                            dr("本月生产") = r("生产模数")
                            contains = True
                            Exit For
                        End If
'                    End If
                Next
                If contains = False Then
                    Dim dr1 As DataRow
                    dr1 = DataTables("模具保养").AddNew()
                    dr1("模具型号") = r("模具型号")
                    dr1("本月生产") = r("生产模数")                    
                End If
            End If
        Next
    End If
End If

如上代码在原来的目的是:在“模具保养”里面查找日期和和模具型号都相同的数据行,然后将“生产模数统计”里面的“生产模数”插入到“模具保养”里面的“本月生产”里面去,后来我不需要比较日期是否相同了,就把与日期有关的代码注释掉了,但是整段代码却不起作用了。请教是哪里的问题?

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2019/8/20 15:20:00 [显示全部帖子]

是的,恢复日期比较那些代码之后,就有效了。我加了类似 MessageBox.Show(1) 的跟踪语句,结果只会重复显示1和2两个数字,没有其他的警告。

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2019/8/27 10:35:00 [显示全部帖子]

If User.Group = "行政" Or User.name = "开发者"
    If CurrentTable.name.contains("模具保养")
        For Each r As Row In Tables("生产模数统计").rows
            Dim NY As String = r("年") & r("月")
            If NY.length = 5
                NY = r("年") & "0" & r("月")
            Else
                NY = r("年") & r("月")
            End If
            If r("模具型号") = ""
            Else
                Dim contains As Boolean = False
                For Each dr As DataRow In DataTables("模具保养").DataRows
'                   If dr("年月") = NY
                        If dr("模具型号") = r("模具型号")
                            dr("本月生产") = r("生产模数")
                            contains = True
                            Exit For
                        End If
 MessageBox.Show(1) 
'                   End If
                Next
 MessageBox.Show(2) 
                If contains = False Then
                    Dim dr1 As DataRow
                    dr1 = DataTables("模具保养").AddNew()
                    dr1("模具型号") = r("模具型号")
                    dr1("本月生产") = r("生产模数")                    
                End If
 MessageBox.Show(3) 
            End If
 MessageBox.Show(4) 
        Next
 MessageBox.Show(5) 
    End If
 MessageBox.Show(6) 
End If

上面的代码,我注释掉了2行,增加了6行提示代码,运行结果:1字出现的次数最多,其次是数字2、3、4,数字5和6就结束前出现过一次。总之,整段代码就是不起作用。去掉注释,就起作用了。

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2019/8/27 17:22:00 [显示全部帖子]

你给出的上述代码还是无效。

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2019/8/29 14:36:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


这是上述代码涉及到的2个数据表。我还没有建立按钮。请你建立按钮之后测试一下。谢谢。

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2019/8/29 14:44:00 [显示全部帖子]

请你不用试了,我找到原因了。

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2019/8/29 14:55:00 [显示全部帖子]

 For Each dr As DataRow In DataTables("模具保养").DataRows

上面这句代码要改为: For Each dr As Row In Tables("模具保养").Rows

这样就有效了。

 回到顶部