Toon posts:

[SQL] Forms 4.5 vraagjes

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben voor mijn stage een programma aan het maken. Het schiet al behoorlijk op, ik loop echter toch tegen een paar onduidelijkheden op:

1. Hoe maak je het mogelijk, om een Execute Query te doen, in meerdere blocks?

Stel: Je hebt een form met 2 blocks. Tussen deze twee blocks bestaat een foreing relation. Je wilt een Execute Query uitvoeren met criteria in zowel het 1e block als het 2e block. (block 1 = form, block 2 = tubular) Hoe kan je dit realiseren? We hebben geprobeerd om met een where clausule te werken, maar daar kwamen we niet uit. Ook hebben we geprobeerd een mirror item te maken in block 1, van block 2. Dit werkte echter ook niet.


2. Hoe kan je voorkomen dat je in een item waarmee je door een tabel kan scrollen, door scrolt naar het laatste, tevens lege record?

Zoals het nu is scrolt hij door naar het laatste record, waarna je iets in moet voeren. (het is de Primary key). Als je dit niet wilt moet je per se het programma afsluiten, om daarna opnieuw te beginnen. Je mag dus nooit het laatste record bereiken.

We hebben dit al proberen op te lossen met een “on-error” trigger met daarin code om de error te herkennen. Je mag echter vanuit die ‘on-error’ trigger geen go_item of next_item of iets dergelijks gebruiken. Dus als iemand een mannier weet om uit dat verplichte invoeren te ontsnappen vanuit die ‘on-error’ trigger is het ook goed.

Ik hoop dat iemand wat tips kan geven, die mij helpen deze problemen op te lossen!!!

bedankt.

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

1: relation aanmaken tussen de 2 blokken, eventuele criteria pre-query in de velden zetten.
2: moet je niet willen, met clear record kom je er weer uit

Who is John Galt?


  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

1. condities kan je ook opnemen in de default where-clause van het tweede blok.
2. Je kan met de ON-NEW-RECORD trigger een clear-record geven, waardoor je niet voorbij de laatste kan komen.

Het is een tijdje terug dat ik in FORMS heb geprogrammeerd, maar misschien heb je er toch iets aan

  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 20:40

JaQ

ad 1.
ik zou een key-exeqry trigger aanmaken waar je je whereclause opbouwd en deze
vervolgens in het blok zet. dat werkt als volgt:

code:
1
2
3
4
5
6
7
8
9
10
declare
  lv_where varchar2(100);
begin

  lv_where := '<<kolomnaam>> = :<<bloknaam.kolomnaam>>';
  
  set_block_property (<<blocknaam>>, default_where, lv_where);
  
  execute_query;
end;


daarna wil je natuurlijk weer je default where leeg hebben, dus een post_query trigger

code:
1
  set_block_property (<<blocknaam>>, default_where, null);


ad 2.
Als het een scherm is, waar je enkel in zou moeten query-en zou je simpelweg de
"insert allowed' property op No kunnen zetten.

Egoist: A person of low taste, more interested in themselves than in me


  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

DrFrankenstoner schreef op 13 November 2002 @ 15:29:
ad 1.
[...]
ad 2.
Als het een scherm is, waar je enkel in zou moeten query-en zou je simpelweg de
"insert allowed' property op No kunnen zetten.
Aha er zijn vlaggetjes bijgekomen in de tussentijd zie ik.

  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 20:40

JaQ

offtopic:
Goodielover>> forms is niet echt mijn hobby, maar als ik 4.5 vergelijk met 6i waar ik deze week mee zit te hobbie-en, dan zijn er zo ongeveer 10000 x meer opties, je komt om in de properties...

Egoist: A person of low taste, more interested in themselves than in me

Pagina: 1