[紧急问题]求助很急很急的两个关于Developer/2000的小问题!!!!!出答案就结贴!

raiven 2003-08-23 03:33:57
一.
关于画面迁移问题.
一个表:
A B C D
1 2 3 4
1 3 4 5
1 4 5 6
2 1 2 3
第一个画面很简单,就是输入A A [ key项目 ] [查询按钮]

然后call_form到第二个画面查询表然后显示信息。
A: [ 表示项目 ]

B C D
表示 表示 任意

就是第一个画面输入主键数值然后按按钮在第二个画面上表示出A,然后在下面列表显示数据 比如第一个画面 A输入1,然后就在第二个画面 A: 1 然后BCD列表显示


第二个

表:
A B C D

四项,但是表随时可能被增加项目EFG等等,让列表显示5项,如果不满5项,第5项用其他项目表示如果项就加横向strollbar,但是只显示前5项。

如何实现呢???
拜托大侠跟贴出具体方案!!!!!!!!!!!!!



...全文
53 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
raiven 2003-08-26
  • 打赏
  • 举报
回复
晕啊没人会吗????
snowy_howe 2003-08-26
  • 打赏
  • 举报
回复
动态增加表结构不可取,建议在实施单位培训一个程序员出来。
raiven 2003-08-25
  • 打赏
  • 举报
回复
第二个问题就是动态显示项目数,
因为客户可能自己调整表的结构加数据项,所以需要动态显示。
麻烦哪位大侠帮忙 !!!
tcmis 2003-08-23
  • 打赏
  • 举报
回复
我也不写太详细了,就把需要实现的代码给贴出来
假如你的画布和数据块都已经添加好了,
首先看你的添加窗口的数据块是数据库块还是非数据库块,如果是数据库块,你对表进行操作的数据直接commit就可以了,否则的话,要insert table (item,....) value(value1,......);然后commit;
添加判断表中是否已存在此记录,有了就查询,否则录入数据(假如添加块的块名:blk_add,主界面上的块名叫做table_name)

导航到一个窗口就go_block('');

declare
nCount number(4);
begin
if :blk_add.a is not null then
select count(*) into nCount from table_name;
IF nCount = 0 then
-- 可以现在插入数据,然后提交也可以等你B,D,E几个字段的数据一起入完后一起提交
ELSE
GO_BLOCK('table_name');
-- ' a = '||:blk_add.a ,如果a是字符型就带上引号' a = '||chr(39) ||:blk_add.a||chr(39)
SET_BLOCK_PROPERTY('table_name',default_where,' a = '||:blk_add.a);
execute_query;
end if;
else
message('**不能为空,请填写');message('**不能为空,请填写');
end if;

end;


d2000 想随意的增加字段真的不方便,要的也是死的,因为不晓得新增项目的类型等等,





raiven 2003-08-23
  • 打赏
  • 举报
回复
关于第一个问题的一点补充,
第一个表
第一个画面第二个画面都是为了录入四项数值的.
如果输入的A没查询到就到第二个画面录入对应输入A的其他项目.
如果输入的A查询到了就显示对应数据可以做修改.

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧