Zum Inhalt springen

SQL oder VBA: Differenzmenge unter Access?


Empfohlene Beiträge

Geschrieben

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

:)

Geschrieben

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>

Geschrieben

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...

Geschrieben

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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...