Zum Inhalt springen

VBA, SQL oder wie? Vergleich der Werte aus zwei Tabellen


AQUAGIRL2802

Empfohlene Beiträge

Hallo zusammen,

hab da mal ein Probelem!

Hate eine Tabelle, in der Interessen gespeichert sind. Diese Interessen können in zwei anderen Tabellen, per Listenfeld ausgewählt werden. Nun soll vergliechen werden, ob die Inhalte der Felder in den beiden Tabellen (wo die Interessen ausgewählt wurden) übereinstimmen! Pro Tabelle können 3 Interessen ausgewählt werden.

Die Datenbank basiert auf Access 2000! Wie ist es möglich so einen Vergleich durchzuführen?

DRINGEND HILFE BRAUCH

schonmal vielen lieben Dank

Die AQUA

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also, habe ich dich richtig verstanden?

Gegeben sind drei Tabellen (a, b, c).

Tabelle a und b referenzieren Daten aus der Lookup-Tabelle c.

Du willst nun prüfen, ob in Tabelle a und b die gleichen Daten stehen.

Korrekt?

Das folgende statement gibt alle Einträge zurück, die in beiden Tabellen (a und B) vorhanden sind.

SELECT [[i]interesse[/i]] 

FROM tbl_a

WHERE [[i]interesse[/i]] IN (SELECT [[i]interesse[/i]] FROM tbl_[/code]
Wenn nur ReferenzId's vorhanden sind, könntest du das statement so oder ähnlich variieren:
[code]SELECT [[i]interesse[/i]] FROM tbl_c WHERE [id] IN ( SELECT [[i]interesseId[/i]] FROM tbl_b WHERE [[i]interesseId[/i]] IN ( SELECT [[i]interesseId[/i]] FROM tbl_a))

In diesem Zusammenhang möchte ich noch eine Bitte äußern:

Liebe Leute,

es wäre unendlich hilfreich, wenn ihr zu euren Datenbank-Fragen auch ein paar basics - Tabellen, Strukturen und/oder SQL-dumps - mitgeben könntet.

Es ist überaus mühselig - und eigentlich völlig überflüssig -, häufig erst darüber reflektieren zu müssen, welche Ausgangssituation überhaupt gegeben ist; bevor man in der Lage ist, eine Lösung zu suchen, von der man dann glaubt - oder besser hofft -, dass sie zur tatsächlichen Klärung des Problems beiträgt.

Vielen Dank,

just_me

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo nochmal!

Man hat die Möglichkeit in der Tabelle tbl_Interessent bzw dann auf dem Formular, 5 Interessen in Drop-Down Feldern auszuwählen. Diese Interessen kommen aus einem Interessen-Pool!

Dann soll durch einen Klick auf nen Button (Frm_Interessent) in der Tabelle tbl_Studiengang geguckt werden, bei welchem Studiengang die Interessen die der Interessent eingegeben hat als Schlagwort angegeben sind!

Habe eine Abfrage in SQL geschrieben:

SELECT *

FROM tbl_Studiengang

WHERE ((([tbl_Interessent].[interesse1])=[tbl_Studiengang].[schlagwort1])) OR ((([tbl_Interessent].[interesse2])=[tbl_Studiengang].[schlagwort1])) OR ((([tbl_Interessent].[interesse3])=[tbl_Studiengang].[schlagwort1])) OR ((([tbl_Interessent].[interesse4])=[tbl_Studiengang].[schlagwort1])) OR ((([tbl_Interessent].[interesse5])=[tbl_Studiengang].[schlagwort1])) OR ((([tbl_Interessent].[interesse1])=[tbl_Studiengang].[schlagwort2])) OR ((([tbl_Interessent].[interesse2])=[tbl_Studiengang].[schlagwort2])) OR ((([tbl_Interessent].[interesse3])=[tbl_Studiengang].[schlagwort2])) OR ((([tbl_Interessent].[interesse4])=[tbl_Studiengang].[schlagwort2])) OR ((([tbl_Interessent].[interesse5])=[tbl_Studiengang].[schlagwort2])) OR ((([tbl_Interessent].[interesse1])=[tbl_Studiengang].[schlagwort3])) OR ((([tbl_Interessent].[interesse2])=[tbl_Studiengang].[schlagwort3])) OR ((([tbl_Interessent].[interesse3])=[tbl_Studiengang].[schlagwort3])) OR ((([tbl_Interessent].[interesse4])=[tbl_Studiengang].[schlagwort3])) OR ((([tbl_Interessent].[interesse5])=[tbl_Studiengang].[schlagwort3]));

Diese bewirklich auch das was sie soll allerdings kommt ein Fenster, in dem die Interessen 1-5 bzw nur die IDs der Interessen eingegeben werden können, anschließend werden die Studiengänge ausgegeben wo etwas übereinstimmt!

Ich hätte es gern, wenn die Eingabe der Interessen über ein Formular geschieht und dann per Button-Klick ein neues Formular geöffnet wird in dem die Studiengänge drin sind!

Hat jemand ne Idee???

Danke schonmal für eure Antworten!!!

LG

Aqua

Link zu diesem Kommentar
Auf anderen Seiten teilen

SELECT 	*

FROM 	tbl_Studiengang

WHERE

	(Schlagwort1 IN (

		SELECT Interesse1, Interesse2, Interesse3, Interesse4, Interesse5 

		FROM tbl_Interessent)) OR

	(Schlagwort2 IN (

		SELECT Interesse1, Interesse2, Interesse3, Interesse4, Interesse5 

		FROM tbl_Interessent)) OR

	(Schlagwort3 IN (

		SELECT Interesse1, Interesse2, Interesse3, Interesse4, Interesse5 

		FROM tbl_Interessent))

(Vorschlag: Zur Vereinfachung deiner Aufgabe solltest du vielleicht an eine Normalisierung denken.

Oder ist diese Struktur aus einem Decisioncube?)

Und du suchst jetzt was genau?

Jemanden, der die Formulare für dich schreibt?

Oder jemanden, der die Datenbank erstellt?

?!?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hab gedacht hier gibt man sich gegenseitig Tipps, ...
Korrigiere mich bitte, wenn ich mich irre, aber du bist nur noch einen einzigen Schritt von der endgültigen Lösung deiner Aufgabe entfernt. Wenn du auch dafür noch Tipps haben möchtest, dann hat es imho mehr den Anschein, dass du jemanden suchst, der dich bei der Hand nimmt, als dass du 'Tipps' erfragst.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hab mir den Link angesehen; von verschachtelten Selects keine Spur!
Bedauerlicherweise lässt die asp.-Seitenkonstruktion des MSDN hier keinen Direktlink zu. Lediglich der Verweis auf das "SELECT"-Statement wurde gesetzt.

Es ist wohl meine Schuld, nicht darauf hingewiesen zu haben, dass es auf der linken Seite noch ein Menü gibt, in welchen man ebenfalls weitere Einträge finden kann.

We apologize for this inconvenience.

Nun, dann möchte ich das hiermit nachholen und mein Gewissen entlasten:

Du findest dort (also in dem Menü auf der linken Seite) - nur drei Einträge unterhalb des "SELECT"-Statement Eintrages - einen weiteren namens "SQL Subqueries" (was die englische Bezeichnung für 'verschachtelte SELECTS' darstellt). Klicke ihn doch einfach mal an und lass dich überraschen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

@AQUAGIRL2802:

Ideen haben wir schon, nur sehen wir auch Fehler im Design der Datenbankstruktur, die eventuell durch Unwissenheit entstanden sind.;)

Fehler im DB-Design koennen spaeter in Erweiterungen/Veraenderungen der DB nicht so leicht behoben werden und koennen u.U. eine komplette Neuentwicklung der DB-Struktur nach sich ziehen.

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