Toon posts:

[ORACLE] Autonummering en clear form

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste tweakers,

ik zit met een probleempje, ik heb hier een form gemaakt, en nou wil ik het zo maken dat wanneer ik op een button klik dat de records leeggemaakt worden, behalve het volgnummer, deze wil ik zo maken dat die automatisch ingevuld wordt wanneer de records gecleared worden, en dan vervolgens dat ik nieuwe informatie toe kan voegen en deze kan submitten in de database.

dit laatste heb ik al voor elkaar gekregen, maar het clearen van de forms en de autonummering en invulling van het volgnummer wil nog niet echt lukken.

dus als iemand mij hiermee zou kunnen helpen, zou ik dit apricieren :)

edit: ik wil het ook zo instellen dat wanneer ik tussen de records 'scroll' met de trigger WHEN_BUTTON_PRESSED (do_key('up');) dat er niet voorbij het laatste record gescrolled kan worden want dit kan nu wel en dan kan ik niet meer terug.

[ Voor 17% gewijzigd door Verwijderd op 19-01-2004 11:51 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Voor autonummering moet je eens zoeken op sequences.
Wat bedoel je met 'clearen van records'? Alle velden op NULL zetten? Kijk dan eens naar het UPDATE statement.
Kijk ook eens naar triggers.

https://fgheysels.github.io/


Verwijderd

Topicstarter
ik heb al een sequence gemaakt, maar nu wil ik het zo maken dat wanneer alle records leeggemaakt worden (om nieuwe informatie toe te voegen aan de database) dat het nummer automatisch ingevuld wordt (en ook het volgende nummer is) en dat deze niet te wijzigen is.

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Je wilt dus, dat het volgende sequence nummer automatisch wordt toegekend als je een nieuw record maakt?
Ik begrijp echter niet wat dat 'leegmaken van de records' ermee te maken heeft? :? Bedoel je misschien 'het leegmaken van de tekstvelden oid op je form'?
Om het volgende sequence nummer te verkrijgen moet je dit doen:
code:
1
select mysequence.nextval FROM dual

https://fgheysels.github.io/


Verwijderd

Topicstarter
ik bedoeld idd het leegmaken van tekstvelden in het form (ben niet zo goed met al die termen :P)

Verwijderd

In welke taal programmeer je? Dat is wel van belang als je wilt weten hoe je een form element leeg maakt.

Geef ook ff aan welke form elementen er allemaal leeg moeten worden gemaakt. Een tekstveld zullen je anders legen dan bijvoorbeeld een combobox

[ Voor 42% gewijzigd door Verwijderd op 19-01-2004 12:31 ]


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Je moet het niet willen, maar kijk in de help bij "initial value" en dan "About default values for items in new records".
Dan zie je dat je :sequence.<seq_naam>.nextval kunt gebruiken.

Een gebruiker hoort niet geconfronteerd te worden met een technische sleutel.

Who is John Galt?


Verwijderd

In de veronderstelling dat je met Oracle Forms werkt :

Velden leegmaken : zet in de "when-button-pressed" van je button
create_record;

Nummer automatische invullen : het veld waarin het moet komen heeft een property "initial value" zet hier :sequence.<sequence_naam>.nextval

Verwijderd

Verwijderd schreef op 19 januari 2004 @ 11:54:
en dat deze niet te wijzigen is.
Dit kan je op verschillende manieren

Maak er een "display item" van ipv een "text item" (property item type)
of
disabled het veld : property "Enabled" zet het op 'NO'
of
...

[ Voor 11% gewijzigd door Verwijderd op 20-01-2004 11:04 ]


Verwijderd

@SiLVeR-C-HaiR

Wanneer ik het veld verander naar een display-item kan deze inderdaad niet meer worden ingevuld, maar wanneer ik probeer de sequence eraan te koppelen dan geeft hij een error namelijk: invalid value (terwijl de sequence die ik heb ingevoerd wel bestaat sequence.autos_seq.nextval

deze werkt dus niet... :S

heeft iemand nog een id? :'(

Verwijderd

Dan nog een vraagje over een LOV.

Ik heb nu een LOV toegevoegd namelijk:

select autos.lidnr, leden.lid_naam
from autos, leden
order by autos.lidnr

Wat er nu moet gebeuren is dat er een koppeling komt tussen een AUTONR&LID_NAAM .. wanneer je uit de list of values een nummer kist dan moet er automatisch een naam bij komen.

Nu werkt deze LOV ook maar nu geeft de list weer wanneer je hem oproept alle nummers meerdere keren. bij nummer 100 heeft hij de naam Dekker, maar de volgende is weer 100 en dan de volgende naam bv Schut.

Heeft iemand een id waarom dit gebeurt?

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

update_allowed heet die property.
Verwijderd schreef op 22 januari 2004 @ 12:21:
select autos.lidnr, leden.lid_naam
from autos, leden
order by autos.lidnr

Heeft iemand een id waarom dit gebeurt?
Je query klopt niet, je mist de join conditie.

Who is John Galt?


Verwijderd

heb je misshcien nog een voorbeeld van die condities... ben der namelijk een beetje een noob in.

En over die property.. die kan ik nergens invullen, ik heb alleen Initial Value...

HELP!!! :'(

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Verwijderd schreef op 22 januari 2004 @ 13:37:
heb je misshcien nog een voorbeeld van die condities... ben der namelijk een beetje een noob in.
where autos.lidnr = leden.lidnr
En over die property.. die kan ik nergens invullen, ik heb alleen Initial Value...
Heb je soms nog een display item ipv. een text item?
Een display item heeft natuurlijk geen update allowed.

Who is John Galt?


Verwijderd

OK, die join condities die werken..

maar met die sequence.autos_seq.nextval krijg ik nog steeds invalid value.. die updat staat op yes.

Verwijderd

maar met die sequence.autos_seq.nextval krijg ik nog steeds invalid value.. die updat staat op yes.
staat er wel een dubbelpunt voor " :sequence.autos_seq.nextval "

Als je in een property click en dan op f1 druk, krijg je gedetaileerde uitleg.
Pagina: 1