Foxtable(狐表)用户栏目专家坐堂 → 增加行


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

主题:增加行

美女呀,离线,留言给我吧!
13775189031
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:840 积分:5828 威望:0 精华:0 注册:2017/12/19 14:46:00
增加行  发帖心情 Post By:2019/7/31 13:46:00 [只看该作者]

想改成如果“材料标准”=“多种”,则

Dim ndr As Row = Tables("角钢进料表明细").AddNew

                ndr("进料表编号") = e.DataRow("进料表编号")

                ndr("工程名称") = e.DataRow("工程名称")

                ndr("塔型") = e.DataRow("塔型")

                ndr("仓储配料员") = e.DataRow("仓储配料员")

                ndr("审核") = e.DataRow("审核")

                ndr("编制人") = e.DataRow("编制人")

                ndr.Move(0)

其他的材料标准,除了上面的以外,都在增加一项

               ndr("材料标准") = e.DataRow("材料标准")

怎么改?



Select Case e.DataCol.name

    Case "进料表编号","材料标准"

        If e.DataRow.IsNull("进料表编号") Then

            DataTables("角钢进料表明细").DeleteFor("进料表编号='" & e.DataRow("进料表编号") & "'")

            e.DataRow("状态_发料完成") = False

            e.DataRow("状态_U8出库") = False

        Else

            If e.DataRow("材料标准") = "多种" Then

                Dim ndr As Row = Tables("角钢进料表明细").AddNew

                ndr("进料表编号") = e.DataRow("进料表编号")

                ndr("工程名称") = e.DataRow("工程名称")

                ndr("塔型") = e.DataRow("塔型")

                ndr("仓储配料员") = e.DataRow("仓储配料员")

                ndr("审核") = e.DataRow("审核")

                ndr("编制人") = e.DataRow("编制人")

                ndr.Move(0)

            End If

            If e.DataRow("材料标准") = "国标" Then

                Dim ndr As Row = Tables("角钢进料表明细").AddNew

                ndr("进料表编号") = e.DataRow("进料表编号")

                ndr("工程名称") = e.DataRow("工程名称")

                ndr("塔型") = e.DataRow("塔型")

                ndr("材料标准") = e.DataRow("材料标准")

                ndr("仓储配料员") = e.DataRow("仓储配料员")

                ndr("审核") = e.DataRow("审核")

                ndr("编制人") = e.DataRow("编制人")

                ndr.Move(0)

            End If

            If e.DataRow("材料标准") = "国网" Then

                Dim ndr As Row = Tables("角钢进料表明细").AddNew

                ndr("进料表编号") = e.DataRow("进料表编号")

                ndr("工程名称") = e.DataRow("工程名称")

                ndr("塔型") = e.DataRow("塔型")

                ndr("材料标准") = e.DataRow("材料标准")

                ndr("仓储配料员") = e.DataRow("仓储配料员")

                ndr("审核") = e.DataRow("审核")

                ndr("编制人") = e.DataRow("编制人")

                ndr.Move(0)

            End If

            If e.DataRow("材料标准") = "南网" Then

                Dim ndr As Row = Tables("角钢进料表明细").AddNew

                ndr("进料表编号") = e.DataRow("进料表编号")

                ndr("工程名称") = e.DataRow("工程名称")

                ndr("塔型") = e.DataRow("塔型")

                ndr("材料标准") = e.DataRow("材料标准")

                ndr("仓储配料员") = e.DataRow("仓储配料员")

                ndr("审核") = e.DataRow("审核")

                ndr("编制人") = e.DataRow("编制人")

                ndr.Move(0)

            End If

            If e.DataRow.GetChildRows("角钢进料表明细").Count > 0

                Dim cnt As Integer = DataTables("角钢进料表明细").Compute("count(进料表编号)","进料表编号 = '" & e.DataRow("进料表编号") & "'and (U8出库=false and 处置_重派=false)")                                                                                          

                e.DataRow("状态_U8出库") = (cnt=0)

                cnt  = DataTables("角钢进料表明细").Compute("count(进料表编号)","进料表编号 = '" & e.DataRow("进料表编号") & "'and (未发数量 > 0 or 未发数量 is null)")

                e.DataRow("状态_发料完成") = (cnt=0)

            End If

        End If

End Select


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/31 14:35:00 [只看该作者]

Select Case e.DataCol.name

    Case "进料表编号","材料标准"

        If e.DataRow.IsNull("进料表编号") Then

            DataTables("角钢进料表明细").DeleteFor("进料表编号='" & e.DataRow("进料表编号") & "'")

            e.DataRow("状态_发料完成") = False

            e.DataRow("状态_U8出库") = False

        Else

Dim ndr As Row = Tables("角钢进料表明细").AddNew

ndr("进料表编号") = e.DataRow("进料表编号")

ndr("工程名称") = e.DataRow("工程名称")

ndr("塔型") = e.DataRow("塔型")

ndr("仓储配料员") = e.DataRow("仓储配料员")

ndr("审核") = e.DataRow("审核")

ndr("编制人") = e.DataRow("编制人")

ndr.Move(0)


If e.DataRow("材料标准") <> "多种" Then

    ndr("材料标准") = e.DataRow("材料标准")

End If

If e.DataRow.GetChildRows("角钢进料表明细").Count > 0

……


 回到顶部
美女呀,离线,留言给我吧!
13775189031
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:840 积分:5828 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/7/31 16:31:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:角钢发料管理台账.foxdb


 回到顶部
美女呀,离线,留言给我吧!
13775189031
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:840 积分:5828 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/7/31 16:34:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:角钢发料管理台账.rar

请老师看看,按照上面的代码改了,但是在表“角钢进料台账”里列“材料标准”选择了“多种”,在表“角钢进料表明细里”还是会自动显示“多种”

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/31 16:37:00 [只看该作者]

开发者密码?

 回到顶部
美女呀,离线,留言给我吧!
13775189031
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:840 积分:5828 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/7/31 16:39:00 [只看该作者]

还有一个奇怪的现象,改了代码以后,在表“角钢进料明细”里填写“派料支数”以后,会自动增加一行,是什么原因?

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/31 16:43:00 [只看该作者]

项目开发者密码?

 回到顶部
美女呀,离线,留言给我吧!
13775189031
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:840 积分:5828 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/7/31 16:45:00 [只看该作者]

147258


 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/31 17:05:00 [只看该作者]

明细表这段代码的原因

If e.DataCol.Name = "进料表编号" Then
    If e.NewValue Is Nothing Then
        e.DataRow("工程名称") = Nothing
        e.DataRow("塔型") = Nothing
        e.DataRow("材料标准") = Nothing
        e.DataRow("仓储配料员") = Nothing
        e.DataRow("审核") = Nothing
        e.DataRow("编制人") = Nothing
    Else
        Dim dr3 As DataRow
        dr3 = DataTables("角钢进料台账").Find("[进料表编号] = '" & e.NewValue & "'")
        If dr3 IsNot Nothing
            e.DataRow("工程名称") = dr3("工程名称")
            e.DataRow("塔型") = dr3("塔型")
            e.DataRow("材料标准") = dr3("材料标准")
            e.DataRow("仓储配料员") = dr3("仓储配料员")
            e.DataRow("审核") = dr3("审核")
            e.DataRow("编制人") = dr3("编制人")
        End If
    End If
End If



 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/31 17:06:00 [只看该作者]

主表事件试试这样改改

……
        Else
            Dim ndr As Row = Tables("角钢进料表明细").AddNew
systemready = false
            ndr("进料表编号") = e.DataRow("进料表编号")
systemready = true
            ndr("工程名称") = e.DataRow("工程名称")
            ndr("塔型") = e.DataRow("塔型")
            ndr("仓储配料员") = e.DataRow("仓储配料员")
            ndr("审核") = e.DataRow("审核")
            ndr("编制人") = e.DataRow("编制人")
            ndr.Move(0)
            If e.DataRow("材料标准") <> "多种" Then
                ndr("材料标准") = e.DataRow("材料标准")
            End If
            If e.DataRow.GetChildRows("角钢进料表明细").Count > 0
                Dim cnt As Integer = DataTables("角钢进料表明细").Compute("count(进料表编号)","进料表编号='" & e.NewValue  & "' and (U8出库=false and 处置_重派=false)")
                e.DataRow("状态_U8出库") = (cnt=0)
                cnt  = DataTables("角钢进料表明细").Compute("count(进料表编号)","进料表编号='" & e.NewValue  & "' and (未发数量 > 0 or 未发数量 is null)")
                e.DataRow("状态_发料完成") = (cnt=0)
            End If
        End If

 回到顶部
总数 12 1 2 下一页