Foxtable(狐表)用户栏目专家坐堂 → 表中规定的字段中必须输入数据才能保存


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

主题:表中规定的字段中必须输入数据才能保存

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


加好友 发短信
等级:二尾狐 帖子:573 积分:4130 威望:0 精华:0 注册:2013/11/2 18:22:00
表中规定的字段中必须输入数据才能保存  发帖心情 Post By:2022/5/13 12:09:00 [只看该作者]

请问保存按钮  数据表中部分规定的字段必须输入数据才能保存怎样写代码?

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


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

判断当前行

dim r as row = tables(“表A”).current
if r.isnull("第一列") then
msgbox("第一列没有填")
end if

判断整个表
if tables(“表A”).compute("count(第一列)","第一列 is null") > 0 then
msgbox("第一列还有没填的行")
en dif

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


加好友 发短信
等级:二尾狐 帖子:573 积分:4130 威望:0 精华:0 注册:2013/11/2 18:22:00
  发帖心情 Post By:2022/5/13 12:14:00 [只看该作者]

Dim sts As String() = {"入库单号", "入库日期", "结算单位", "项目名称", "仓库名称", "业务类别", "采购类型"}
For Each st As String In sts '关联字段任一字段为空的话,不能新增明细表数据
    If Forms("入库通知单登记").controls(st).value Is Nothing Then
        MessageBox.Show("请将红色必填字段填写完整!", "提醒")
        Return
    End If
Next

 

入库明细表字段规格  品名  数量 。。。等字段中也必须输入数据才能保存这段代码怎么写

 


For Each dt As DataTable In DataTables
        If dt.HasChanges Then
            e.Form.Controls("Label16").text = "正在保存数据..."
            Application.Doevents
            dt.Save
            e.Form.Controls("Label16").text = ""
        Else
            e.Form.Controls("Label16").text = ""
            e.Form.Controls("新单").Enabled = True
        End If
Next


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


加好友 发短信
等级:超级版主 帖子:85588 积分:434315 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/13 13:29:00 [只看该作者]

Dim sts As String() = {"规格", "品名", "数量"}
For Each st As String In sts '关联字段任一字段为空的话,不能新增明细表数据
    If tables(“入库明细表”).compute("count(" & st & ")",st & " is null") > 0 then
        MessageBox.Show(st & "没有填写完整!", "提醒")
        Return
    End If
Next

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


加好友 发短信
等级:二尾狐 帖子:573 积分:4130 威望:0 精华:0 注册:2013/11/2 18:22:00
  发帖心情 Post By:2022/5/13 13:47:00 [只看该作者]

Dim sts As String() = {"入库单号", "入库日期", "结算单位", "项目名称", "仓库名称", "业务类别", "采购类型"}
For Each st As String In sts '关联字段任一字段为空的话,不能新增明细表数据
    If Forms("入库通知单登记").controls(st).value Is Nothing Then
        MessageBox.Show("请将红色必填字段填写完整!", "提醒")
        Return
    End If
Next

 
Dim dr() As String = {"品名", "材质", "规格", "产地", "厂发数量", "厂发单价", "含税金额"}
For Each mx As String In dr
    If Tables("入库明细").Current.isnull(mx) = True Then
        MessageBox.Show("入库明细填写完整!", "提醒")
        Return
    End If
Next


For Each dt As DataTable In DataTables
        If dt.HasChanges Then
            e.Form.Controls("Label16").text = "正在保存数据..."
            Application.Doevents
            dt.Save
            e.Form.Controls("Label16").text = ""
        Else
            e.Form.Controls("Label16").text = ""
            e.Form.Controls("新单").Enabled = True
        End If
    Next


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


加好友 发短信
等级:二尾狐 帖子:573 积分:4130 威望:0 精华:0 注册:2013/11/2 18:22:00
  发帖心情 Post By:2022/5/13 13:47:00 [只看该作者]

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.5.12.2
错误所在事件:窗口,入库通知单登记,保存,Click
详细错误信息:
未将对象引用设置到对象的实例。

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


加好友 发短信
等级:二尾狐 帖子:573 积分:4130 威望:0 精华:0 注册:2013/11/2 18:22:00
  发帖心情 Post By:2022/5/13 13:49:00 [只看该作者]

执行第一段代码没有问题,第二段有问题

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


加好友 发短信
等级:二尾狐 帖子:573 积分:4130 威望:0 精华:0 注册:2013/11/2 18:22:00
  发帖心情 Post By:2022/5/13 13:54:00 [只看该作者]

找到原因了,入库明细必须有新增一行,没有新增一行代码怎样写?

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


加好友 发短信
等级:超级版主 帖子:85588 积分:434315 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/13 14:04:00 [只看该作者]

    If Tables("入库明细").rows.count = 0 Then
        MessageBox.Show("入库明细没有数据!", "提醒")
        Return
    End If

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


加好友 发短信
等级:二尾狐 帖子:573 积分:4130 威望:0 精华:0 注册:2013/11/2 18:22:00
  发帖心情 Post By:2022/5/13 14:16:00 [只看该作者]

Dim sts As String() = {"入库单号", "入库日期", "结算单位", "项目名称", "仓库名称", "业务类别", "采购类型"}
For Each st As String In sts '关联字段任一字段为空的话,不能新增明细表数据
    If Forms("入库通知单登记").controls(st).value Is Nothing Then
        MessageBox.Show("请将红色必填字段填写完整!", "提醒")
        Return
    End If
Next

 If Tables("入库明细").rows.count = 0 Then
        MessageBox.Show("入库明细没有数据!", "提醒")
        Return
    End If

Dim dr As String() = {"品名", "材质", "规格", "产地", "厂发数量", "厂发单价", "含税金额"}
For Each mx As String In dr
    If Tables("入库明细").Current.isnull(mx) = True Then
        MessageBox.Show("入库明细填写完整!", "提醒")
        Return
    End If
Next

For Each dt As DataTable In DataTables
    If dt.HasChanges Then
        e.Form.Controls("Label16").text = "正在保存数据..."
        Application.Doevents
        dt.Save
        e.Form.Controls("Label16").text = ""
    Else
        e.Form.Controls("Label16").text = ""
        e.Form.Controls("新单").Enabled = True
    End If
Next

 

好了谢谢


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