Foxtable(狐表)用户栏目专家坐堂 → 限制表的编辑


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

主题:限制表的编辑

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/9 9:58:00 [只看该作者]

If jinzhihangjianyidong=False Then
    If e.Col.Name="客户姓名" Then
        e.Cancel= True
        vars("客户资料入库窗体_状态") = "查询"
        Dim xm As String = Tables("pos机库存资料").Current("客户姓名")
        Tables("客户资料").Filter = "客户姓名 = '" & xm & "'"
        Forms("客户资料入库窗体").OpenTo("pos机库存资料")
    End If
End If


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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2017/10/9 10:10:00 [只看该作者]

在表的PrepareEdit事件中怎样写代码能实现当“pos机信息修改窗体”窗体已经打开,jinzhihangjianyidong=False时执行"机具ID"、"商户ID"、"商户名称" "客户ID" 、"客户姓名"都不能编辑,其他字段都能编辑,如果 jinzhihangjianyidong=True 除了"商户ID"、"商户名称" 可以编辑其他几个字段都不能编辑,如果“pos机信息修改窗体”未打开 则执行除了"机具ID"、"商户名称" "客户ID" 、"客户姓名"不能编辑,其他各字段都可以编辑

我写了一下代码实现不了这个功能
If jinzhihangjianyidong=False   Then
If  e.Col.Name ="机具ID" Or e.Col.Name ="商户ID"  Or e.Col.Name ="商户名称"  Or   e.Col.Name ="客户姓名" Or e.Col.Name ="客户ID"  Then
e.Cancel=True
End If
Else
e.Cancel= False
End If
[此贴子已经被作者于2017/10/9 10:43:40编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/9 10:44:00 [只看该作者]


If forms("pos机信息修改窗体").opened Then
    If jinzhihangjianyidong=False   Then
        If e.Col.Name ="机具ID" Or e.Col.Name ="商户ID"  Or e.Col.Name ="商户名称"  Or   e.Col.Name ="客户姓名" Or e.Col.Name ="客户ID"  Then
            e.Cancel=True
        End If
    Else
        If e.Col.name = "商户ID" OrElse e.Col.name = "商户名称" Then
            e.Cancel= False
        Else
            e.Cancel= True
        End If
    End If
Else
    If e.Col.Name ="机具ID" Or e.Col.Name ="商户名称"  Or   e.Col.Name ="客户姓名" Or e.Col.Name ="客户ID"  Then
        e.Cancel=True
    End If
End If
[此贴子已经被作者于2017/10/9 11:58:04编辑过]

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2017/10/9 11:08:00 [只看该作者]

甜老师这样写代码,只要是打开"pos机信息修改窗体"后"商户ID"字段在什么时候都是不可编辑的?  

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/9 11:12:00 [只看该作者]

以下是引用裴保民在2017/10/9 11:08:00的发言:
甜老师这样写代码,只要是打开"pos机信息修改窗体"后"商户ID"字段在什么时候都是不可编辑的?  

 

商户ID 在jinzhihangjianyidong=true的情况下,可以编辑的,代码逻辑没问题。


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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2017/10/9 11:47:00 [只看该作者]

甜老师你看看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:错误.rar



打开“pos机信息修改窗体”窗体,默认启动窗体时  jinzhihangjianyidong=True ,单击“添加数据时按钮“或”修改数据”按钮后jinzhihangjianyidong=False,单击“确认修改数据”或“确认添加数据”按钮后  jinzhihangjianyidong=True

不管 jinzhihangjianyidong是True 还是 jinzhihangjianyidong还是False 窗体表的“商户ID”和“商户名称”都是不能编辑的

[此贴子已经被作者于2017/10/9 11:56:27编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/9 11:58:00 [只看该作者]


If forms("pos机信息修改窗体").opened Then
    If jinzhihangjianyidong=False   Then
        If e.Col.Name ="机具ID" Or e.Col.Name ="商户ID"  Or e.Col.Name ="商户名称"  Or   e.Col.Name ="客户姓名" Or e.Col.Name ="客户ID"  Then
            e.Cancel=True
        End If
    Else
        If e.Col.name = "商户ID" OrElse e.Col.name = "商户名称" Then
            e.Cancel= False
        Else
            e.Cancel= True
        End If
    End If
Else
    If e.Col.Name ="机具ID" Or e.Col.Name ="商户名称"  Or   e.Col.Name ="客户姓名" Or e.Col.Name ="客户ID"  Then
        e.Cancel=True
    End If
End If

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


加好友 发短信
等级:八尾狐 帖子:1989 积分:12631 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2017/10/9 15:48:00 [只看该作者]

 Dim idx As Integer=t.findrow("机具条码= '" & str & "'")
If idx >=0 Then
        Result = MessageBox.Show("机具已存在,机具不能入库!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
  end if


甜老师我在"确认修改数据"按钮写了如下代码,运行后点击修改数据按钮后再单击“确认修改数据”按钮后在数据没做任何修改时怎么也会弹出机具条码存在呀?修改行本身也算吗?我怎么在修改时,如果数据为任何改动时单击“确认修改数据”后直接保存数据呢?



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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/9 15:52:00 [只看该作者]

改一下代码

 

Dim idx As Integer=t.findrow("机具条码= '" & str & "' and _Identify <> " & t.current("_Identify"))


 回到顶部
总数 19 上一页 1 2