therok Geschrieben 20. Dezember 2001 Teilen Geschrieben 20. Dezember 2001 Hallo Leute, Ich weiss nicht, ob die Tabellen datenbanktechnisch richtig konzipiert sind oder ob der Fehler in der SQL-Abfrage liegt. Für Anregungen bin immer dankbar. Aber es geht mir um die Differenzmenge von der Tabelle Lehrer und Klassenlehrer --> Keine Klassenlehrer TABELLEN (Ausschnitt): LEHRER LKürzel (PK) (z.B.: TR) LName (z.B.: The Rok KLASSEN Klasse (PK) (z.B.: 5a) Klassenlehrer (z.B.: TR) Ich möchte nun, wenn alle Lehrer in Tab LEHRER eingegeben sind, die Klassen eingegben. Dabei sollen über SQL (oder anders - VBA?) im Formular KLASSEN_eingabe im Feld Klassenlehrer nur die Lehrer ausgewählt werden könne (Kombinationsfeld), die noch keine Klassenlehrer sind. Beispiel: Es gibz Lehrer A-F. Es sind schon 3 Klassen eingepflegt worden: A, C, E sind deren Klassenlehrer. Wenn ich nun eine 4. Klasse anlege, sollen nur die restlichen Lehrer auswählbar sein: B, D, F. Dieses ist nur ein Beispiel1. Ich hab es schon wiefolgt versucht: Unter Access (2000/97) "Select L.LKürzel from Lehrer as L where L.LKürzel NOT IN( Select K.Klassenlehrer from Klassen as Klasse );" Vielen Dank für Eure Tipps TheRok Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Lung Geschrieben 20. Dezember 2001 Teilen Geschrieben 20. Dezember 2001 Hey, was wäre mit einem Ja/Nein-Feld, ob schon Klassenlehrer oder nicht? Oder einem eindeutigem Feld in den Lehrertabelle: z. B: Klassenbez Wenn das FEld leer ist, soll der Lehrer angezeigt werden. Das Feld wird dann mit dem Namen der Klasse gefüllt!? Gruß Lung <FONT COLOR="#a62a2a" SIZE="1">[ 20. Dezember 2001 14:36: Beitrag 1 mal editiert, zuletzt von Lung ]</font> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
therok Geschrieben 21. Dezember 2001 Autor Teilen Geschrieben 21. Dezember 2001 Danke dir, der Tipp mit dem Ja/nein-Feld geht in Ordnung, verfolge ihn aber nicht weiter, weils jetzt klappt: Datensatzherkunft (rowsource): " SELECT L.LehrerName FROM Lehrer AS L WHERE (((L.LehrerName) Not In (SELECT [K].[Klassenlehrer] FROM Klassen as K WHERE Lehrername<>""; ))); " Lag wohl am "...WHERE Lehrername<>"" " Nun noch nach jedem Update ein AfterUpdate-Ereignis auslösen (rowsource = "Select ...", damit die Liste aktualisiert wird. Danke noch mal, für weitere Anregungen immer ein offenen Ohr, gerade was DIfferenzmengen angeht... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
therok Geschrieben 21. Dezember 2001 Autor Teilen Geschrieben 21. Dezember 2001 Upps... Durch ändeungen de Feldnamen ist was verrutscht, so muss es heissen: " SELECT L.LehrerName FROM Lehrer AS L WHERE (((L.LehrerName) Not In (SELECT [K].[Klassenlehrer] FROM Klassen as K WHERE Klassenlehrer<>""; ))); " Sorry Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.