[Oracle Form] Probleempje met het maken van trigger *

Pagina: 1
Acties:

  • Tijs_a
  • Registratie: December 2003
  • Laatst online: 25-03 11:29
Hoi,

Ik moet voor school een opdracht maken. Een form met Oracle. Hieronder zie je een plaatje van de layout zodat het wat makkelijker uitleggen is.

Afbeeldingslocatie: http://home.planet.nl/~haber573/form.PNG

De bedoeling is dat bij elke schaal de passende medewerkers worden weergegeven in het onderstaande block 'Medewerkers'. De tabellen hebben onderling geen relatie. Het onderste block wordt geactiveerd via een KEY-EXEQRY:

code:
1
2
3
4
execute_query;
go_block('medewerkers');
execute_query;
go_block('schalen');


en een where-clause bij het block 'Medewerkers':
code:
1
2
where medewerkers.maandsal >= :schalen.ondergrens
and medewerkers.maandsal <= :schalen.bovengrens


Dit werkt gewoon, maar als ik echter naar het volgende record ga via de knop in het webbased form dan gaat het bovenste block netjes naar schaal 2 maar hij laat op het onderste block niet de nieuwe werknemers zien in die schaal. Deze blijft staan op de werknemers van schaal 1. Ik heb van alles geprobeerd maar niks lukt :'(
Zou iemand mij kunnen helpen? Thnx

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-05 18:51

Creepy

Tactical Espionage Splatterer

Tijs_a schreef op zondag 17 april 2005 @ 16:23:
Deze blijft staan op de werknemers van schaal 1. Ik heb van alles geprobeerd maar niks lukt :'(
Wat heb je dan precies geprobeerd? Wat lukte daar niet mee?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Als je een relation aanmaakt in forms dan maakt hij automatisch de benodigde triggers die de details opnieuw query-en als je een ander record selecteert in de master.

Who is John Galt?


  • Tijs_a
  • Registratie: December 2003
  • Laatst online: 25-03 11:29
Ik kan helaas geen relatie maken via de wizard, omdat er geen relatie kan worden gemaakt tussen de 2 tabellen.

Tabel SCHALEN
SNR
ONDERGRENS
BOVENGRENS
TOELAGE

Tabel MEDEWERKERS
MNR
NAAM
VOORL
FUNCTIE
CHEF
GBDATUM
DATE
MAANDSAL
COMM
AFD

Zoals je ziet kunnen er geen items aan elkaar worden gekoppeld. Ik heb met PRE-queries zitten klooien maar ik ben nog niet zo thuis in de triggers.

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Volgens mij kun je ook een dummy relatie maken '1=1' oid.
Anders kun je ook een 'foute' relatie aanleggen (bijvoorbeeld maandsal=ondergrens) en die dan met de hand aanpassen.

Who is John Galt?


  • Tijs_a
  • Registratie: December 2003
  • Laatst online: 25-03 11:29
Een dummy relatie aan maken lukt me niet en als ik een relatie maak zoals je zei(maandsal=ondergrens) dan werkt het wel maar hij is niet aan te passen omdat je geen relatie mag maken zoals deze:

code:
1
medewerkers.maandsal >= schalen.ondergrens and <= schalen.bovengrens


deze kan ik beter als 'where clause' houden zoals ik in het begin had vermeld.

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Ik bedoel ook niet de relatie aanpassen, maar de gegenereerde triggers (on-clear-details, on-populate-details etc).
Dus je where clause hou je op z'n plaats en die 'foute' relatie sloop je uit de gegenereerde triggers.

Who is John Galt?


  • Tijs_a
  • Registratie: December 2003
  • Laatst online: 25-03 11:29
ik heb de dummy relatie er uitgehaald en de gegenereerde triggers (on-clear-details, on-populate-details etc) weten te behouden en een beetje aangepast, maar nog steeds werkt het niet. Ik word er gek van.

Verwijderd

Tijs_a schreef op zondag 17 april 2005 @ 16:23:
Dit werkt gewoon, maar als ik echter naar het volgende record
=WHEN-NEW-RECORD-INSTANCE op block van Schalen
ga via de knop in het webbased form dan gaat het bovenste block netjes naar schaal 2 maar hij laat op het onderste block niet de nieuwe werknemers zien in die schaal.
go_block('medewerkers');
execute_query;
Deze blijft staan op de werknemers van schaal 1. Ik heb van alles geprobeerd maar niks lukt :'(
Zou iemand mij kunnen helpen? Thnx
Gewoon vertaald wat je in je openingspost heb gezegd, zo simpel is Forms.

  • Tijs_a
  • Registratie: December 2003
  • Laatst online: 25-03 11:29
Thnx! eindelijk schiet ik weer wat op. ik heb de WHEN-NEW-RECORD-INSTANCE op het block SCHALEN gemaakt en deze PL/SQL code erin gestopt:

code:
1
2
go_block('medewerkers');
execute_query;


De type-cursor begint nu echter in het onderste block 'MEDEWERKERS'. Daardoor kan ik niet naar het volgende record. De type-cursor moet bij het block schalen blijven staan in het vak SNR.

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 06-05 23:54

leuk_he

1. Controleer de kabel!

Tijs_a schreef op maandag 18 april 2005 @ 14:04:
Thnx! eindelijk schiet ik weer wat op. ik heb de WHEN-NEW-RECORD-INSTANCE op het block SCHALEN gemaakt en deze PL/SQL code erin gestopt:

code:
1
2
go_block('medewerkers');
execute_query;


De type-cursor begint nu echter in het onderste block 'MEDEWERKERS'. Daardoor kan ik niet naar het volgende record. De type-cursor moet bij het block schalen blijven staan in het vak SNR.
de GOT wij doen je werk voor je service >:) .

stop erin

code:
1
2
3
go_block('medewerkers');
execute_query;
go_block('schalen');


ook af te vangen?
-Clear form? CLear block? Wanneer go_block niet kan?

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


  • Tijs_a
  • Registratie: December 2003
  • Laatst online: 25-03 11:29
Thnx! Het is gelukt. Dit probleem is in ieder geval opgelost en ik kan weer verder. Als ik later met de opdracht nog wat problemen heb dan kom ik weer terug bij jullie geweldige GOTters _/-\o_
Pagina: 1