Zum Inhalt springen

SQL oder VBA: Differenzmenge unter Access?


therok

Empfohlene Beiträge

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

:)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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>

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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