Ich hab ein Problem, das ich leider nur sehr schwer beschreiben kann:

Zwei Tabellen sind 1:n verbunden. Dazu gibt es eine weitere
Referenztabelle und eine Kreuztabelle.
(Weiterhin - nicht unmittelbar Problemrelevant - gibt es eine
Benutzertabelle und eine Benutzer-Gruppen-Kreuztabelle mit ID)


Die Referenztabelle sieht so aus:

        Gruppe_ID
        Gruppe_Typ


Die beiden verbunden Tabellen sehen so aus:

        Dokumenttyp_ID
        Dokumenttyp_Beschreibung
        FID_Gruppentyp ( NULL aber erlaubt ) -> ein Dokumententyp kann
einer Gruppe zugeordnet sein.
        ...

        Dokument_ID
        Dokument_Beschreibung
        FID_Dokumenttyp ( NULL nicht erlaubt )
        ...

Nun In einer weiteren Tabelle sind verschiedene Benutzer aufgelistet.
Jeder Benutzer ist nun einer oder mehreren Gruppen zugeordnet (weitere
Kreuztabelle). Die Zuordnung selbst erh�lt wiederum eine ID.

Nach dem anlegen eines Benutzers soll jeder erstmal einer Gruppe
zugeordnet werden. Diese zuordnung erh�lt eine ID.

Nun soll dem Benutzer ( eigentlich der ID, der eine
Benutzer-Gruppen-Zuordnung entspricht ) eine Liste jener Dokumente
angeboten werden, bei denen der FID_Gruppentyp identisch ist, mit der
Gruppe, der er �ber die erste Kreuztabelle zugeordnet ist.

Und jetzt wird�s etwas kompliziert:
Es gibt Dokumententypen, die keinem Gruppentyp (NULL) zugeordnet sind,
es gibt welche, wo es zum Dokumententyp einen Gruppentyp gibt, und den
Fall, da� zu einem Gruppentyp mehrere Eintr�ge in der Tabelle
Dokumententypen gibt.

Wenn nun ein Benutzer angelegt wird, gibt es folglich drei
M�glichkeiten:
1. Es ist nicht m�glich, der Benutzergruppenzuordnung eine Auswahl an
Dokumenten anzubieten, da es keine Gruppe als Fremdschl�ssel n der
Dokumententyptabelle gibt.
2. es gibt eine Liste an Eintr�gen, die eindeutig ist
3. es gibt die M�glichkeit, da� die Dokumentenliste doppelte - oder
mehrfache - Eintr�ge enth�lt. Dieser dritte Fall bereitet mir nun
Kopfzerbrechen: Die Bezeichnungen, die als auswahl angeboten werden,
sollen nur einmal dastehen, andererseits sind aber mit einem einfachen
Eintrag ( d.h. einer Checkbox ) mehrere Ids verbunden, von denen jede
einen Eintrag in der Kreuztabelle bekommen soll. Und genau das bekomm
ich nicht hin.

Falls es hier jemanden gibt, der da durchsteigt m�ge er sich bitte
meiner erbarmen.

Ich habe schon mit folgendem Ansatz gespielt: Die Stored Procedure, die
mir die Liste - derzeit mit mehrfachen Textausgaben - die Liste erzeugt,
k�nnte doch bestimmt so modifiziert werden, da� ich anstelle der ID eine
Art Array bekomme, die ich im Prinzip wie eine ID verwende, oder? Wenn
das geht, wie mach ich sowas?

Die sp sieht in etwa so aus:

        CREATE PROCEDURE spSearchDokumenteByGruppen_ID(@Gruppen_ID int)
        AS
        SELECT

        Dokumente.Dokument_ID, 
        Dokumente.Dokument_Beschreibung

        FROM         
        Dokumenttyp INNER JOIN
        Dokumente ON Dokumententyp.Dokumenttyp_ID =
Dokumente.FID_Dokumenttyp

        WHERE (Dokumenttyp.FID_Gruppen_ID = @Gruppen_ID)

        ORDER BY Dokumente.Dokument_Beschreibung
        GO


Das ergebnis sieht derzeit beispielsweise so aus:

        10      Bestellung
        11      Angebot
        12      Angebot
        13      Anfrage
        15      Anfage
        17      Fax
        18      Liste

Die ergebnisliste soll dann aber halt nur einmal den Wert Angebot haben,
die Auswahl soll aber sp�ter zwei Eintr�ge in der Kreuztabelle bewirken.

Ich kenn mich nicht mehr aus :-(

Bitte helft mir

Christian



| [aspdecoffeehouse] als archive@jab.org subscribed
| http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffeehouse.asp

Antwort per Email an