Hallo! > habe gerade mitgelesen. An Joachim habe ich die Frage wie er dann bei einer > Abfrage aus der DB, die nur die Datens�tze anzeigen soll, bei denen 2 und 8 > aktiviert wurden. Ich frage das weil ich so was �hnliches auch bauen soll > und ich mir als L�sung �berlegt habe f�r jede Antwortm�glichkeit eine Spalte > zu programmieren und NULL-Werte zulasse. W�re f�r jeden weieren Hinweis > dankbar!
Komisch, ich habe z. Z. nur einen Fall, in denen ich nach Bits suchen muss. Meistens wird der Datensatz eingelesen und die Bits beeinflussen dann die Anzeige des Datensatzes, oder andere Verhaltensweisen. In SQL gibt es keine Bittest-Funktionen. Im SQL-Server habe ich also eine entsprechende "Benutzerdefinierte Funktion" (ab SQL Server 2000). Das ist der Idealfall, weil alle M�glichkeiten offen stehen (... where Bit(..., 2) = 1 and Bit(..., 8) = 1). In Access umschreibe ich die Funktion: Z. B. Gesucht werden Datens�tze in denen das 2. und 8. Bit im Feld "Optionen" gesetzt ist: Select ... From ... Where (Optionen mod (2 ^ 3)) > (2 ^ 2) And (Optionen mod (2 ^ 9)) > (2 ^ 8) Da ich alle Abfragen in der Datenbank speichere, kann ich diese dann auch mit Parametern aufrufen. Der Bittest ist mitunter eine eigenst�ndige View, so dass ich die Abfrage immer mit herk�mmlichen Abfragen kombinieren kann: Select ... from ... Where id In (Select id from ...Bittest2) And id In (Select id from ...Bittest8) And ... Allerdings verwende ich auch einzelne tinyint-Felder, wenn immer wieder nach den Optionen oder Bits in gro�en Datenmengen gesucht werden soll, weil dann die Suche �ber einen Index beschleunigt wird (Bit-Felder k�nnen im SQL Server nicht indiziert werden). Die Texte zu den Optionen liegen in einer Fremdschl�sseltabelle oder in einem Array. F�r jede Option eine eigene Spalte finde ich nicht gut, weil man dann ja f�r jede neue Option auch eine neue Spalte anlegen muss. Der einfachste Weg ist ja, alle Optionen in einem Textfeld abzulegen, und dann mit "like '%option%'" zu suchen. Bei geringen Datenmengen ist das unproblematisch, die Optionen m�ssen aber eindeutig identifizierbar sein. 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
