如何以表格形式的oracle形式进入下一个领域?

问题描述 投票:0回答:2

我正在创建2个表格形式并将一个字段移动到第二个表格形式字段。看下面的图片

enter image description here

码:

 BEGIN

 :EMP1.EMPNO := :EMP.EMPNO;
 :EMP.EMPNO := NULL;

 :EMP1.ENAME := :EMP.ENAME;
 :EMP.ENAME := NULL;

 :EMP1.JOB := :EMP.JOB;
 :EMP.JOB := NULL;

:EMP1.MGR := :EMP.MGR;
:EMP.MGR := NULL;

:EMP1.HIREDATE := :EMP.HIREDATE;
:EMP.HIREDATE := NULL;

:EMP1.SAL := :EMP.SAL;
:EMP.SAL := NULL;

:EMP1.COMM := :EMP.COMM;
:EMP.COMM := NULL;

:EMP1.DEPTNO := :EMP.DEPTNO;
:EMP.DEPTNO := NULL;

END;

当按下移动按钮然后成功移动到下一个表格字段但光标转到第1个字段并且必须输入错误字段。我希望光标转到第二个字段,当按下按钮然后移动到下一个表格第二个字段。请帮忙

谢谢

oracle oracle11g oracle10g oracleforms
2个回答
1
投票

而不是将所有EMP块的项目设置为NULL,而只是DELETE_RECORD。所以:

BEGIN
  :EMP1.EMPNO    := :EMP.EMPNO;
  :EMP1.ENAME    := :EMP.ENAME;
  :EMP1.JOB      := :EMP.JOB;
  :EMP1.MGR      := :EMP.MGR;
  :EMP1.HIREDATE := :EMP.HIREDATE;
  :EMP1.SAL      := :EMP.SAL;
  :EMP1.COMM     := :EMP.COMM;
  :EMP1.DEPTNO   := :EMP.DEPTNO;

  DELETE_RECORD;
END;

0
投票

似乎没有理由,除了你的第一场(:EMP.EMPNO)在RequiredYes部分设置DataProperty Palette属性,并且你试图将它设置为NULL [如:EMP.EMPNO := NULL;]。

  • 将其更改为No

我认为因为EMPNOEMP表的主键列,而Forms假定该字段为Required表。

附:如果你想提交你所做的更改,将:EMP.EMPNO的required Required属性更改为No是不够的,因为它是主键。因此,当您将其设置为null时,DML delete emp where empno = :EMP.EMPNO; [当然insert into emp1(empno,...) values(:EMP.EMPNO,....)]应该在删除期间发出,假设EMP1作为单独的表格)应该在上面的代码中发布。

© www.soinside.com 2019 - 2024. All rights reserved.