This is what you have:SQL> select deptno, ename, job, sal from emp order by deptno;
DEPTNO ENAME JOB SAL
---------- ---------- --------- ----------
10 CLARK MANAGER 2450
10 KING PRESIDENT 5000
10 MILLER CLERK 1300
20 JONES MANAGER 2975
20 FORD ANALYST 3000
20 ADAMS CLERK 1100
20 SMITH CLERK 800
20 SCOTT ANALYST 3000
30 WARD SALESMAN 1250
30 TURNER SALESMAN 1500
30 ALLEN SALESMAN 1600
30 JAMES CLERK 950
30 BLAKE MANAGER 2850
30 MARTIN SALESMAN 1250
This is what you want:SQL> break on deptno
SQL> select deptno, ename, job, sal from emp order by deptno;
DEPTNO ENAME JOB SAL
---------- ---------- --------- ----------
10 CLARK MANAGER 2450
KING PRESIDENT 5000
MILLER CLERK 1300
20 JONES MANAGER 2975
FORD ANALYST 3000
ADAMS CLERK 1100
SMITH CLERK 800
SCOTT ANALYST 3000
30 WARD SALESMAN 1250
TURNER SALESMAN 1500
ALLEN SALESMAN 1600
JAMES CLERK 950
BLAKE MANAGER 2850
MARTIN SALESMAN 1250
Is that correct?
If so, then - from my point of view - Forms is a wrong tool to do that. Breaks can't be set in Forms. You could do that in Reports, though.
On the other hand, you might create a view and base tabular form on that view. Here's an example: you would NOT display DEPTNO column, but DEPTNO_DISPLAY instead.
SQL> select
2 rank() over (partition by deptno order by ename) rn,
3 deptno,
4 case when rank() over (partition by deptno order by ename) = 1 then deptno
5 else null
6 end deptno_display,
7 ename,
8 job,
9 sal
10 from emp
11 order by deptno, ename;
RN DEPTNO DEPTNO_DISPLAY ENAME JOB SAL
---------- ---------- -------------- ---------- --------- ----------
1 10 10 CLARK MANAGER 2450
2 10 KING PRESIDENT 5000
3 10 MILLER CLERK 1300
1 20 20 ADAMS CLERK 1100
2 20 FORD ANALYST 3000
3 20 JONES MANAGER 2975
4 20 SCOTT ANALYST 3000
5 20 SMITH CLERK 800
1 30 30 ALLEN SALESMAN 1600
2 30 BLAKE MANAGER 2850
3 30 JAMES CLERK 950
4 30 MARTIN SALESMAN 1250
5 30 TURNER SALESMAN 1500
6 30 WARD SALESMAN 1250
You understand that such a form should not be updateable (because you can't modify DEPTNO value).