Foxtable(狐表)用户栏目专家坐堂 → 出库主表的仓库 和统计的的仓库不一样不容许输入


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

主题:出库主表的仓库 和统计的的仓库不一样不容许输入

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


加好友 发短信
等级:小狐 帖子:346 积分:2645 威望:0 精华:0 注册:2018/11/11 15:52:00
出库主表的仓库 和统计的的仓库不一样不容许输入  发帖心情 Post By:2020/12/11 12:32:00 [只看该作者]

    Dim tbl  As  Table =  Tables("销售提单登记_Table2")
    If tbl.Current IsNot  Nothing  Then
        Tables("出库明细表").Current("生产日期") = tbl.Current("生产日期")
        Tables("出库明细表").Current("产地") = tbl.Current("产地")
        Tables("出库明细表").Current("货物名称") = tbl.Current("货物名称")
        Tables("出库明细表").Current("规格型号") = tbl.Current("规格型号")
        Tables("出库明细表").Current("材质") = tbl.Current("材质")
        Tables("出库明细表").Current("货位") = tbl.Current("货位")
        Tables("出库明细表").Current("车号") = tbl.Current("车号")
    End If

 

销售提单窗口的出库主表的仓库字段是ComboBox控件   有一个统计表是库存表,可以双击单元格输入数据  想要统计表的仓库名称和窗口的仓库字段ComboBox控件值不一样可提示仓库名称不同请问代码怎么写,谢谢!

[此贴子已经被作者于2020/12/11 12:32:46编辑过]

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


加好友 发短信
等级:小狐 帖子:346 积分:2645 威望:0 精华:0 注册:2018/11/11 15:52:00
  发帖心情 Post By:2020/12/11 12:47:00 [只看该作者]

Dim cmb As WinForm.ComboBox
cmb = Forms("销售提单登记").Controls("ComboBox1")
cmb.ComboList = DataTables("销售提单登记_Table2").GetComboListString("仓库")

 

控件取得统计表数据

[此贴子已经被作者于2020/12/11 12:48:25编辑过]

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


加好友 发短信
等级:超级版主 帖子:107721 积分:547938 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/11 13:35:00 [只看该作者]

表格双击事件

if e.row("仓库名称") <> Forms("销售提单登记").Controls("ComboBox1").text then
msgbox("仓库名称不同")

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


加好友 发短信
等级:小狐 帖子:346 积分:2645 威望:0 精华:0 注册:2018/11/11 15:52:00
  发帖心情 Post By:2020/12/11 14:44:00 [只看该作者]

Dim sts() As  String  = {"仓库","购货单位","出库日期","出库单号","付款单位","业务类别","销售类型"}
For Each st As String In sts
    If Tables("出库主表").Current.isnull(st) = True Then
        MessageBox.Show("请将单据填写完整!","提醒")
        Return
    End If
Next
Dim r As Row = Tables("出库明细表").AddNew
For Each st As String In sts
    r(st) = Tables("出库主表").Current(st)
Next
Dim tbl  As  Table =  Tables("销售提单登记_Table2")
If tbl.Current IsNot  Nothing  Then
    If Tables("出库明细表").Rows.Count> 0 Then
        Tables("出库明细表").Current("生产日期") = tbl.Current("生产日期")
        Tables("出库明细表").Current("产地") = tbl.Current("产地")
        Tables("出库明细表").Current("货物名称") = tbl.Current("货物名称")
        Tables("出库明细表").Current("规格型号") = tbl.Current("规格型号")
        Tables("出库明细表").Current("材质") = tbl.Current("材质")
        Tables("出库明细表").Current("货位") = tbl.Current("货位")
        Tables("出库明细表").Current("车号") = tbl.Current("车号")
        If e.Row("仓库") <> Forms("销售提单登记").Controls("ComboBox1").text Then
            MessageBox.Show("仓库名称不同!", "提示")
            If MessageBox.Show("是否删除?","请确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question)=DialogResult.Yes Then
                Tables("出库明细表").Current.Delete
            End If
        End If
    End If
End If

 

谢谢老师 这样完整了


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


加好友 发短信
等级:超级版主 帖子:107721 积分:547938 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/11 14:57:00 [只看该作者]

直接把判断放到最前面不好吗?不符合条件就不要新增了,直接退出,何必新增了再删除?

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


加好友 发短信
等级:小狐 帖子:346 积分:2645 威望:0 精华:0 注册:2018/11/11 15:52:00
  发帖心情 Post By:2020/12/11 15:32:00 [只看该作者]

直接把判断放到最前面提示仓库相同  数据已经写进去了 只能用命令删除  请教老师下有判断相同不新增数据的方法
[此贴子已经被作者于2020/12/11 15:32:36编辑过]

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


加好友 发短信
等级:小狐 帖子:346 积分:2645 威望:0 精华:0 注册:2018/11/11 15:52:00
  发帖心情 Post By:2020/12/11 15:54:00 [只看该作者]

If Tables("出库明细表").Rows.Count> 0 Then
    If e.Row("仓库") <> Forms("销售提单登记").Controls("ComboBox1").text Then
        MessageBox.Show("仓库名称不同!", "提示")
        Tables("出库明细表").Current.Reject()
    End If
End If
If Tables("出库明细表").Rows.Count> 0 Then
    Dim tbl  As  Table =  Tables("销售提单登记_Table2")
    If tbl.Current IsNot  Nothing  Then
       
        Tables("出库明细表").Current("生产日期") = tbl.Current("生产日期")
        Tables("出库明细表").Current("产地") = tbl.Current("产地")
        Tables("出库明细表").Current("货物名称") = tbl.Current("货物名称")
        Tables("出库明细表").Current("规格型号") = tbl.Current("规格型号")
        Tables("出库明细表").Current("材质") = tbl.Current("材质")
        Tables("出库明细表").Current("货位") = tbl.Current("货位")
        Tables("出库明细表").Current("车号") = tbl.Current("车号")
    End If
End If

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


加好友 发短信
等级:小狐 帖子:346 积分:2645 威望:0 精华:0 注册:2018/11/11 15:52:00
  发帖心情 Post By:2020/12/11 15:55:00 [只看该作者]

是不是这样 不会写入了

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


加好友 发短信
等级:超级版主 帖子:107721 积分:547938 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/11 15:58:00 [只看该作者]

        If e.Row("仓库") <> Forms("销售提单登记").Controls("ComboBox1").text Then
            MessageBox.Show("仓库名称不同!", "提示")
return
        End If

Dim sts() As  String  = {"仓库","购货单位","出库日期","出库单号","付款单位","业务类别","销售类型"}
For Each st As String In sts
    If Tables("出库主表").Current.isnull(st) = True Then
        MessageBox.Show("请将单据填写完整!","提醒")
        Return
    End If
Next
Dim r As Row = Tables("出库明细表").AddNew 
For Each st As String In sts
    r(st) = Tables("出库主表").Current(st)
Next
Dim tbl  As  Table =  Tables("销售提单登记_Table2")
If tbl.Current IsNot  Nothing  Then
    If Tables("出库明细表").Rows.Count> 0 Then
        Tables("出库明细表").Current("生产日期") = tbl.Current("生产日期")
        Tables("出库明细表").Current("产地") = tbl.Current("产地")
        Tables("出库明细表").Current("货物名称") = tbl.Current("货物名称")
        Tables("出库明细表").Current("规格型号") = tbl.Current("规格型号")
        Tables("出库明细表").Current("材质") = tbl.Current("材质")
        Tables("出库明细表").Current("货位") = tbl.Current("货位")
        Tables("出库明细表").Current("车号") = tbl.Current("车号")
    End If
End If

 回到顶部