20. Dezember 200123 j 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
20. Dezember 200123 j 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>
21. Dezember 200123 j 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...
21. Dezember 200123 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.