Frage : Oracle-Formen: Wie man Checkboxes dynamisch von der Datenbank bevölkert

Hallo,

I bildet sich Notwendigkeit, Checkboxes in Oracle zu bevölkern von der Datenbank. Ich habe Datenbanktabellenstruktur, wie folgt:

PEOPLE (PEOPLEID, FNAME, LNAME)
insert in LEUTE (PEOPLEID, FNAME, LNAME) WERTE (11111, „ANDY“, „ADAMS ");
insert in LEUTE (PEOPLEID, FNAME, LNAME) WERTE (22222, „BRIAN“, „BANK ");
insert in LEUTE (PEOPLEID, FNAME, LNAME) WERTE (33333, „LIED“, „LAGER ");

PEOPLE_INTERESTS (PEOPLEID, INTERESTID)

insert in PEOPLE_INTERESTS (PEOPLEID, INTERESTID) WERTE (11111, „AAA ");
insert in PEOPLE_INTERESTS (PEOPLEID, INTERESTID) WERTE (11111, „CCC ");
insert in PEOPLE_INTERESTS (PEOPLEID, INTERESTID) WERTE (33333, „CCC ");
insert in PEOPLE_INTERESTS (PEOPLEID, INTERESTID) WERTE (33333, „BBB ");

" INTERESTS_TYPE (INTERESTID, INTERESTSTYPE)
insert INTERESTS_TYPE (INTERESTID, INTERESTS) in WERTE („AAA“, „in die LANDWIRTSCHAFT ");
insert INTERESTS_TYPE (INTERESTID, INTERESTS) in WERTE („BBB“, „in BÜCHER ");
insert INTERESTS_TYPE (INTERESTID, INTERESTS) in WERTE („CCC“, „in COMPUTER ");
insert in INTERESTS_TYPE (INTERESTID, INTERESTS) WERTE („DDD“, „FINANZIERUNG ");

I möchte diese 4 Checkboxes auf der Form zeigen. In der Form wenn die Benutzersuche nach „ANDY ADAMS“, aus vier Checkboxes, '' LANDWIRTSCHAFT '' heraus und „COMPUTER“ die Checkboxes überprüft werden sollten. Benutzer sollte sein dürfen diese Checkboxes redigieren. Wenn sie neue Rekorde verursachen, sollten diese 4 Checkboxes für user.

I vorhanden sein schätzen wirklich wenn, wenn jeder mir einige Ideen auf, wie man geben könnte dieses erzielt. Ich bin zu den Formen, mein Wissen der Formen bin sehr limited.

Thanks,

neu

Antwort : Oracle-Formen: Wie man Checkboxes dynamisch von der Datenbank bevölkert

Für diese Art des Verhaltens mit einer begrenzten aber möglichen ändernden Anzahl von Möglichkeiten, die ich die folgende Annäherung, die wählen würde, erfordert gerade einige Änderungen vom Rückstellungsverhalten der Orakelformen.
Eine temporäre Tabelle herstellen
globales temporäre Tabelle cartesian_check verursachen
((PEOPLEID (die gleiche Art wie andere),
interest_id (die gleiche Art wie andere),
INTERESSEN (die gleiche Art wie andere),
überprüfte varchar2 (1))
AUF KONSERVE-REIHEN FESTLEGEN;

den Kindblock auf der temporären Tabelle definieren und ihn markieren, wie nur updateble;
nur die Spalteninteressen und überprüft müssen sichtbar, und nur überprüft ist updateble
im pre-quiry Auslöser des Kindblockes
    Löschung vom cartesian_check;
    Einsatz in cartesian_check
      auserwählt: masterblock.people_id, interest_id, INTERESSEN,
      (auserwählt decodieren (Zählimpuls (*), 0, „N“, „Y ")
     von people_interest PU
     wo PU people_id =: master.people_id
     und PI.interest_id = it.inertestid) überprüft
     vom interests_type ES;

im on_update Auslöser
    wenn Sie = „N“ dann überprüft werden
        Löschung von people_interest PU
        wo PU people_id =: people_id
       und PI.interest_id =: interest_id;
   beenden wenn;
    wenn Sie = „Y“ dann überprüft werden
      Einsatz in interests_type ES
      auserwählt: people_id: interest_id
      von Doppel
      -- Ändern verhindern von von Y bis von N bis von Y von der Einfügung einer zweiten Aufzeichnung
      WO NICHT EXISTIERT (1 VORWÄHLEN
                                         VON people_interest PU
                                         wo PU people_id =: people_id
                                         und PI.interest_id =: interest_id)
    beenden wenn;
Weitere Lösungen  
 
programming4us programming4us