Foxtable(狐表)用户栏目专家坐堂 → 如何在保存数据时先判断该行


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

主题:如何在保存数据时先判断该行

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


加好友 发短信
等级:童狐 帖子:238 积分:1986 威望:0 精华:0 注册:2015/2/16 13:29:00
如何在保存数据时先判断该行  发帖心情 Post By:2015/6/7 21:10:00 [只看该作者]

    如果一行之前被锁定,修改时保存会提示错误。如何在保存数据前先判断该行是否被锁定。最好的状态是如何实现一个被锁定的行在窗口中也不能修改数据(在保存之前就发现该行被锁定了)。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/7 21:15:00 [只看该作者]

 什么意思,报什么错?在什么事件写代码?


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


加好友 发短信
等级:童狐 帖子:238 积分:1986 威望:0 精华:0 注册:2015/2/16 13:29:00
锁定行  发帖心情 Post By:2015/6/7 21:42:00 [只看该作者]

    我在锁定某行后在对应窗口中对该行对应的TXBOX进行修改,然后保存该表。提示“1信息表已经关闭,不能调用其中的空间“textbox2””

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


加好友 发短信
等级:童狐 帖子:238 积分:1986 威望:0 精华:0 注册:2015/2/16 13:29:00
  发帖心情 Post By:2015/6/7 21:43:00 [只看该作者]

继续提示

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2014.11.11.1
错误所在事件:菜单,保存信息,Click
详细错误信息:
未设置对象变量或 With 块变量。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/7 21:44:00 [只看该作者]

 跟锁定不锁定没什么关系,代码写得有问题。


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


加好友 发短信
等级:童狐 帖子:238 积分:1986 威望:0 精华:0 注册:2015/2/16 13:29:00
  发帖心情 Post By:2015/6/7 22:00:00 [只看该作者]

代码是这样的,当“竣工日期”为空是按保存,提示上面的错误。

With Tables("电梯信息表")
Dim drx1 As Row=Tables("电梯信息表").Current
If drx1.isnull("竣工日期") Then
        messagebox.show("必须输入竣工日期")
        Forms("电梯信息表").Controls("DateTimePicker1").Select()
        Return
End If
If drx1.isnull("合同编号") Then
        messagebox.show("必须输入合同编号")
        Forms("电梯信息表").Controls("TextBox42").Select()
        Return
End If
。。。。。

If .Current.DataRow.RowState = DataRowState.Unchanged Then '如果当前行未曾修改
          MessageBox.Show("该记录未被修改,不需要进行保存操作")
   
    Else
        
         Tables("电梯信息表").Current.Save()  
         Tables("电梯信息表").Current.Locked = True
        MessageBox.Show("当前行已经被保存,若想撤销,请<撤销修改>! ")
       
    End If
   
End With


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/7 22:03:00 [只看该作者]

With Tables("电梯信息表")
    Dim drx1 As Row=Tables("电梯信息表").Current
    If drx1 IsNot Nothing Then
        If drx1.isnull("竣工日期") Then
            messagebox.show("必须输入竣工日期")
            Forms("电梯信息表").Controls("DateTimePicker1").Select()
            Return
        End If
        If drx1.isnull("合同编号") Then
            messagebox.show("必须输入合同编号")
            Forms("电梯信息表").Controls("TextBox42").Select()
            Return
        End If
        .....
       
        If .Current.DataRow.RowState = DataRowState.Unchanged Then '如果当前行未曾修改
            MessageBox.Show("该记录未被修改,不需要进行保存操作")
           
        Else
           
            Tables("电梯信息表").Current.Save()
            Tables("电梯信息表").Current.Locked = True
            MessageBox.Show("当前行已经被保存,若想撤销,请<撤销修改>! ")
           
        End If
    End If
End With

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


加好友 发短信
等级:童狐 帖子:238 积分:1986 威望:0 精华:0 注册:2015/2/16 13:29:00
还是不行  发帖心情 Post By:2015/6/7 22:08:00 [只看该作者]

   版主,还是不行,提示同样的错误。谢谢。

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


加好友 发短信
等级:童狐 帖子:238 积分:1986 威望:0 精华:0 注册:2015/2/16 13:29:00
补充  发帖心情 Post By:2015/6/7 22:09:00 [只看该作者]

    上述的程序建立在菜单上。在窗口中用同样的程序不会提示错误。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/7 22:26:00 [只看该作者]

 If drx1 IsNot Nothing Then

 

改成

 

 If drx1 IsNot Nothing AndAlso Forms("电梯信息表").Opened Then

[此贴子已经被作者于2015/6/7 22:26:11编辑过]

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