在上个话题中,如下一句留下伏笔:
dw_1.settaborder('pa_id',0) //这个功能在下面专门讲
当时在练习中发现,如果通过病案号调出病人信息及输血信息,此时dw_1的所有字段都可以进行修改,包括病案号,但病案号是dw_1与dw_2检索的关键,为病人信息表的主键,输血信息表的外键,如果这个字段被修改,则使两者失去了联系,因此这个字段不能改。
实现的前提条件:必须是数据表t_patient中有此病人信息,即通过病案号的录入可能调出该病人信息,如果无此病人信息,病案号应该是可以随便录入的。
实现的要求:希望在dw_1的pa_id(病案号)录入转换焦点时判断,如果无此病人,不用管,如果有此病人,则在检索的同时,将pa_id(病案号)字段设为不可修改。
实现的方法:一般而言,让数据窗口中部分字段失去修改的能力,可通过TAB值的设定进行,即当TAB值为0时,当前字段无修改能力。因此,只要在判断的条件满足后设定其TAB值为0,则可使其失去修改的能力。
编写代码:
if sumpaid>0 then //如果有数据,即数据库中有此病人信息
dw_1.setfilter("pa_id='"+trim(data)+"'") //则过滤此病人信息
dw_1.filter()
dw_1.retrieve()
dw_1.settaborder('pa_id',0) //设定pa_id字段的TAB值为0,无法修改。
end if
当然,在一定条件下要修改其TAB值,dw_1.settabordr('pa_id',1) //设定pa_id字段的TAB值为1。
如果有其它的方法,请指教。
posted on 2007-07-17 22:18
wlj768 阅读(1140)
评论(0) 编辑 收藏 引用 所属分类:
数据库编程之PB学习