Foxtable(狐表)用户栏目专家坐堂 → 关于关联表的问题设计


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

主题:关于关联表的问题设计

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
关于关联表的问题设计  发帖心情 Post By:2020/3/13 20:46:00 [只看该作者]

由于,关联表,主表和明细表,都是正表,不能作副表,在多个窗口进行引用,受影响,

1.需求,在窗口,关联表,主表和明细表都绑定数据,进行审核时,主管只能主表的的“反审意见”(字符型)”和明细表“意见”的字段进行编辑,其他字段都不能编辑,而且此设计不能影响录入。(现况是一设计,都不能编辑,影响录入,和其他操作)。

简单说是,关联表如何象副表一样,仅限于当前窗体的约束。

试写一下面代码,不能用:
Dim t As Table = e.Form.Controls("订单主表").Table      
t.Filter = "反审意见 = true"                         
 
For Each c As Col In t.Cols
    If c.Name = "反审意见" OrElse c.Name = "反审意见"
    Else
        c.AllowEdit = False
    End If
Next

Dim b As Table = e.Form.Controls("订单主表.订单明细").Table     
b.Filter = "意见 = true"                        

For Each c As Col In b.Cols
    If c.Name = "意见" OrElse c.Name = "意见"
    Else
        c.AllowEdit = False
    End If
Next

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


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

不使用锁定,到PrepareEdit事件控制http://www.foxtable.com/webhelp/topics/0605.htm

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/3/19 23:01:00 [只看该作者]

如何实现关联表,在窗口约束,仅于当前窗口,比如本例,当前窗口,
1.“主表”只有“审核,审核日期,审核人”可编辑,其他字段都不能编辑;
2.“明细表”只有“状态”字段可编辑,其他字段都能编辑。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:关联约束编辑问题.table


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


加好友 发短信
等级:超级版主 帖子:110808 积分:563978 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/20 9:41:00 [只看该作者]

主表,PrepareEdit事件

Select Case e.Col.Name
    Case "审核","审核日期","审核人"
    Case Else
        e.Cancel = True '则禁止编辑
End Select

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/3/20 10:49:00 [只看该作者]

老师,4楼方法是试一下,是全部禁止编辑,与需求有误,需求窗口上关联表(主表和明细表)的部分字段可编辑,大部分字段禁止编辑,而且仅当前窗口

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


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

主表只有一个,无法区分是否窗口表,只能统一控制。窗口表要单独控制必须改为副本,或者sqltable等

if e.tabe.name = "窗口1_table1"
Select Case e.Col.Name
    Case "审核","审核日期","审核人"
    Case Else
        e.Cancel = True '则禁止编辑
End Select
endif

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/3/20 11:19:00 [只看该作者]

原来也想副表,但狐表的关联表,不允许副表,独立表是可作副表,

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/3/20 11:24:00 [只看该作者]

官方是否考虑关联表(主表和明细表)可以为副表,跟独立表一样,这个对窗口开发和WEB页面开发都有需求。其实正表是数据库的表如, ACCESS建立一数据库,建立表,这表可以任何窗口或页面有不同形式展示,应用。

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


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/3/20 11:26:00 [只看该作者]

也过您建议的非关联,但其工作量大,代码和设计事件多,很容易出错,

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


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


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