以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于关联表的问题设计 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=147313) |
||||
-- 作者:lgz518 -- 发布时间: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 |
||||
-- 作者:有点蓝 -- 发布时间:2020/3/13 20:55:00 -- 不使用锁定,到PrepareEdit事件控制http://www.foxtable.com/webhelp/topics/0605.htm |
||||
-- 作者:lgz518 -- 发布时间:2020/3/19 23:01:00 -- 如何实现关联表,在窗口约束,仅于当前窗口,比如本例,当前窗口, 1.“主表”只有“审核,审核日期,审核人”可编辑,其他字段都不能编辑; 2.“明细表”只有“状态”字段可编辑,其他字段都能编辑。
|
||||
-- 作者:有点蓝 -- 发布时间:2020/3/20 9:41:00 -- 主表,PrepareEdit事件 Select Case e.Col.Name Case "审核","审核日期","审核人" Case Else e.Cancel = True \'则禁止编辑 End Select |
||||
-- 作者:lgz518 -- 发布时间:2020/3/20 10:49:00 -- 老师,4楼方法是试一下,是全部禁止编辑,与需求有误,需求窗口上关联表(主表和明细表)的部分字段可编辑,大部分字段禁止编辑,而且仅当前窗口 |
||||
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2020/3/20 11:19:00 -- 原来也想副表,但狐表的关联表,不允许副表,独立表是可作副表, |
||||
-- 作者:lgz518 -- 发布时间:2020/3/20 11:24:00 -- 官方是否考虑关联表(主表和明细表)可以为副表,跟独立表一样,这个对窗口开发和WEB页面开发都有需求。其实正表是数据库的表如, ACCESS建立一数据库,建立表,这表可以任何窗口或页面有不同形式展示,应用。 |
||||
-- 作者:lgz518 -- 发布时间:2020/3/20 11:26:00 -- 也过您建议的非关联,但其工作量大,代码和设计事件多,很容易出错, |
||||
-- 作者:有点蓝 -- 发布时间:2020/3/20 12:04:00 -- 使用模拟关联:http://www.foxtable.com/webhelp/topics/2222.htm |