PB中表的修改对数据窗口和报表的影响的解决办法

数据窗口(DataWindow)是PB最强大的功能之一,Datawindow是PB中获取专利技术的控件,它对数据的处理方法相当简洁,能处理各种显示格式和快速的报表制作能力。 深受PB开发者的喜爱。但一件产品不可能十全十美,DataWindow也有不少缺点,其中对datawindow的所关联的数据表的一些变动,可能就会使辛辛苦苦做出的数据录入、维护界面、报表得重新做,特别是复杂中国式的报表,是令许多开发人员头痛的事情,而在其它开发语言如Delphi就不会存在此类问题。
现在采用原型模型的开发的不少,使得开发中表的修改变得比较平常,为了解决已做的报表、数据界面主体不必重做,下面提出一些解决的方法,希望能对碰到此类问题的开发人员有所帮助,同时也希望能起到抛砖引玉的作用。
1、问题一:表的字段增减。
此问题比较容易解决。表的字段增加,打开DataWindow窗口,点击Data Source 图标,将新字段在DataWindow窗口的Selection List选中,然后新的字段就会在添加到原datawindow窗口中,问题也就解决了,不过值得提醒的是若在输入数据DataWindow中添加字段,记得在数据窗口的Update Properties属性中,将新字段在Updateable Columns列表中选中,否则新字段值不能提交;表的字段删除,打开DataWindow窗口,点击Data Source 图标,先执行表的弹出菜单Seselect All,再执行Select All 即可。
2、问题二:表中字段的数据长度的修改
打开DataWindow窗口,点击Data Source 图标,先执行表的弹出菜单Seselect All,再执行Select All 即可在数据窗口的Column Specification中看到修改长度的字段已为新的长度。不过别急,对于字符类型的字段,问题还未完全解决,选中已修改长度的字符类型字段,按鼠标右键,选择Properties,再选择Edit属性中Limit的值为新的长度值,问题才解决。
3、问题三:表中字段的数据类型的修改
打开DataWindow窗口,点击Data Source 图标,先执行表的弹出菜单Seselect All,再执行Select All 即可。
4、问题四:表的名称改变字段不变
4.1 点击Library库画板,选中要修改的数据窗口或报表。
4.2 按鼠标右键,选择弹出菜单项Export,或选择Entry菜单的Export项将数据窗口或报表到出后缀为.srd的文件,文件名默认为数据窗口或报表的名字。
4.3 在Powerbar工具条中选择Edit图标,打开刚存的文件。
4.4在File Editor中使用Replace替换按钮,将被修改文件中的含有老的表名字符串全部替换成新的表名, 然后保存。
4.5选择Entry菜单的Import项,将刚修改过的文件导入,覆盖原来的数据窗口或报表,问题解决。
对于问题4,若原数据窗口有检索参数(Retrieval Arguments)和Where子句,应先将它们删除,能后再进行操作,否则转换会失败, 使用数据窗口的Previwe会报“select error 无效列名”。转换成功后再手工增加检索参数和Where子句。
对于一些稍微复杂的表的变动,可通过上述的方法组合解决。如改变了表名又增加了字段并修改了原有字段长度的数据表,则解决步骤可为:先建与原表一样只是表名不同的过度表,然后采用方法4;在过度表增加了字段,然后采用方法1;修改过度表中的某些字段长度形成新表,最后采用方法2,问题解决。
本人在用PB开发MIS系统中使用以上方法,能比较快的复用开发原型中的报表和数据维护窗口,不过值得提醒大家的是,使用以上方法最好应先将原数据窗口进行备份,以防止误操作破坏了报表和数据维护窗口。
  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

willsound

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值