Do tabulky lze ukládat libovolné hodnoty příslušné danému období a případně i danému zaměstnanci. Vhodným filtrováním lze pak hodnoty pro potřebné období získat zpět. V makrojazyku se ke větě, která je nahrána v paměti přistupuje pomocí klíčového slova UNI.
Čís | Název položky | Typ položky | Sloupec | Makro | Idx |
---|---|---|---|---|---|
1 | Ident | Longint | IDENT | dbIdent | * |
2 | Attr | Word | XATTR | dbAttr | |
3 | Typ řádky | Longint | XTYPE | uniTyp | * |
4 | Typ hodnoty | Longint | XVTYPE | uniVTyp | |
5 | Období | Longint | XPERIOD | uniObdobi | * |
6 | Ident zaměstnance | Longint | XMAN_ID | uniPrac | |
7 | Hodnota 1 | Longint | XVAL_L1 | uniValL1 | |
8 | Hodnota 2 | Longint | XVAL_L2 | uniValL2 | |
9 | Hodnota 3 | Real | XVAL_R1 | uniValR1 | |
10 | Hodnota 4 | Real | XVAL_R2 | uniValR2 |
Příklad:
dim ActPeriod : Longint; ActPeriod := _Shl(_SysYear,16) lor _ActMonth; StepIdx(dbtUNI, uniTyp); {#IFDEF WINDOWS} _SetFilter(dbtUNI, _MakeFilter(dbtUNI, uniObdobi, filterEqual, ActPeriod + " AND " + _MakeFilter(dbtUNI, uniPrac, filterEqual, O[dbIdent]) + " AND " + _MakeFilter(dbtUNI, uniTyp, filterEqual, cUNI_DB_TYPE_DNP) + " AND " + _MakeFilter(dbtUNI, dbIdent, filterBiggerEqual, 0)); if _StartDB(dbtUNI) then {#ELSEDEF} if _FindRec(dbtUNI, uniTyp, _LiToKey(ActPeriod) + _LiToKey(O[dbIdent]) + _LiToKey(cUNI_DB_TYPE_DNP)) then {#ENDDEF} repeat . . . {#IFDEF WINDOWS} until (_StepRec(dbtUNI, 1)= false); {#ELSEDEF} until (_StepRec(dbtUNI, 1) = false) or (UNI[uniObdobi] <> ActPeriod) or (UNI[uniPrac] <> O[dbIdent]) or (UNI[uniTyp] <> cUNI_DB_TYPE_DNP); {#ENDDEF} endif