Vraag : De Vormen van Oracle: Hoe te om checkboxes van het gegevensbestand dynamisch te bevolken

Hello,/>I behoefte


PEOPLE (PEOPLEID, FNAME, LNAME)
insert de WAARDEN in van MENSEN (PEOPLEID, FNAME, LNAME) (11111, „ANDY“, „ADAMS“);
INSERT DE WAARDEN IN VAN MENSEN (PEOPLEID, FNAME, LNAME) (22222, „BRIAN“, „BANK“);
INSERT DE WAARDEN IN VAN MENSEN (PEOPLEID, FNAME, LNAME) (33333, „HYMNE“, „KAMPEN“);

PEOPLE_INTERESTS (PEOPLEID, " onderstreept " INTERESTID)

insert in (PEOPLEID, INTERESTID) WAARDEN PEOPLE_INTERESTS (11111, „AMERIKAANSE CLUB VAN AUTOMOBILISTEN“);
INSERT IN (PEOPLEID, INTERESTID) WAARDEN PEOPLE_INTERESTS (11111, „CCC“);
INSERT IN (PEOPLEID, INTERESTID) WAARDEN PEOPLE_INTERESTS (33333, „CCC“);
INSERT IN (PEOPLEID, INTERESTID) WAARDEN PEOPLE_INTERESTS (33333, „BBB“);

" INTERESTS_TYPE (INTERESTID, INTERESTSTYPE)
insert in (INTERESTID, INTERESTS) WAARDEN INTERESTS_TYPE („AMERIKAANSE CLUB VAN AUTOMOBILISTEN“, „LANDBOUW“);
INSERT IN (INTERESTID, INTERESTS) WAARDEN INTERESTS_TYPE („BBB“, „BOEKEN“);
INSERT IN (INTERESTID, INTERESTS) WAARDEN INTERESTS_TYPE („CCC“, „COMPUTER“);
INSERT IN (INTERESTID, INTERESTS) WAARDEN INTERESTS_TYPE („DDD“, „FINANCIËN“);

I zou deze 4 checkboxes op de vorm willen tonen. In de vorm, wanneer het gebruikersonderzoek naar „ANDY ADAMS“, van de vier checkboxes, '' LANDBOUW '' en van de „COMPUTER“ checkboxes zou moeten worden gecontroleerd. De gebruiker zou moeten zijn toestaat om deze checkboxes uit te geven. Wanneer het leiden van tot nieuwe verslagen, deze 4 zouden checkboxes aan user.

I beschikbaar moeten zijn werkelijk zullen waarderen als als om het even wie me sommige ideeën op kon geven hoe te om dit te bereiken. Ik ben nieuw aan vormen, is mijn kennis van vormen zeer limited.

Thanks,

Antwoord : De Vormen van Oracle: Hoe te om checkboxes van het gegevensbestand dynamisch te bevolken

Voor dit soort gedrag met een beperkt maar mogelijk veranderend aantal mogelijkheden zou ik de volgende benadering kiezen, die enkel een paar veranderingen van standaardgedrag van orakelvormen vereist.
Cre�ër een tijdelijke lijst
cre�ër globale tijdelijke lijst cartesian_check
((PEOPLEID (zelfde type zoals andere),
interest_id (zelfde type zoals andere),
BELANGEN (zelfde type zoals andere),
gecontroleerde varchar2 (1))
OP BEGA DE RIJEN VAN HET DOMEIN;

bepaal het kindblok op de tijdelijke lijst en merk het slechts updateble;
slechts hebben de kolommenbelangen en gecontroleerd aan zichtbaar, en slechts gecontroleerd is updateble
in de pre-quiry trekker van het kindblok
    schrap van cartesian_check;
    tussenvoegsel in cartesian_check
      selecteer: masterblock.people_id, interest_id, BELANGEN,
      (uitgezocht decodeer (telling (*), 0, „N“, „Y“)
     van meest people_interest pi
     waar pi people_id =: master.people_id
     en PI.interest_id = gecontroleerde it.inertestid)
     van interests_typeIT;

in de on_updatetrekker
    indien gecontroleerd = „N“ toen
        schrap van meest people_interest pi
        waar pi people_id =: people_id
       en PI.interest_id =: interest_id;
   beëindig als;
    indien gecontroleerd = „Y“ toen
      tussenvoegsel in interests_typeIT
      selecteer: people_id: interest_id
      van dubbel
      -- verhinder het veranderen van Y aan N aan Y van het opnemen van een tweede verslag
      WAAR NIET BESTAAT (SELECTEER 1
                                         VAN meest people_interest pi
                                         waar pi people_id =: people_id
                                         en PI.interest_id =: interest_id)
    beëindig als;
Andere oplossingen  
 
programming4us programming4us