Hallo!

> habe mir mal kurz eine DB entsprechend Deiner Vorgaben angelegt, wohl
die
> Feldnamen ohne Binde- oder Schr�gstriche
>
> folgende scoure ist getestet und l�uft entsprechend Deinen W�nschen

Gut, wenn es l�uft!

> sql = "Select User.ID as UserID, User.Name as UserName,
User2Kat.UserID,
> Kategorien.KatName as Kategorie from User, User2Kat, Kategorien where
" &_
> " User2Kat.UserID = User.ID and User2Kat.KategorieID = Kategorien.ID
and
> User2Kat.checked = 1 "

Das ist zun�chst mal eine Kreuztabellenabfrage, die dann �ber WHERE
eingeschr�nkt wird.

Das bedeutet f�r Access:

Bei 100 Benutzern, 10 Kategorien und 200 Verkn�pfungen sind das zun�chst
200.000  Datens�tze, die dann �ber WHERE gefiltert werden. M�glich, dass
das beim Testen mit wenigen Datens�tzen nicht auff�llt. Mir ist auch
nicht bekannt, dass Access hier optimiert.

Die Verkn�pfungstabelle hat auch noch die Spalte "checked", was m.E.
�berfl�ssig ist: Man muss ja nicht alle Kombinationen von Benutzern und
Kategorien speichern, sondern nur die, die Verkn�pft sind. Wenn f�r jede
Kombination von (100) Benutzern und (10) Kategorien ein Datensatz in der
Verkn�pfungstabelle besteht, h�tte diese 1.000 Datens�tze und die
Kreuztabelle dann 1.000.000.

Kreuztabellen vermeidet man mit JOIN. Deshalb w�rde ich Claudius'
Abfrage vorziehen.

Freundliche Gr��e
Joachim van de Bruck



| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp

Antwort per Email an