以文本方式查看主题

-  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.“明细表”只有“状态”字段可编辑,其他字段都能编辑。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:关联约束编辑问题.table


--  作者:有点蓝
--  发布时间: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