Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Einen Wert per Abfrage in mehreren Tabellenspalten suchen
zurück: Abfrage aus 2 gleichen Tabellen mit unterschiedlichen Daten weiter: Aktualisierungsabfrage mit verknüpfter Exceltabelle Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Bitte Status wählen ! Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Danny G.
Advanced VBA User


Verfasst am:
09. Sep 2004, 12:03
Rufname:
Wohnort: Berlin

Einen Wert per Abfrage in mehreren Tabellenspalten suchen - Einen Wert per Abfrage in mehreren Tabellenspalten suchen

Nach oben
       

Hallo,

bei meiner Datenbank bin ich auf ein weiteres Problem gestoßen. Wie kann ich, in diesem Fall geht es um das Abfragekriterium "Sprache", mit einen Wert prüfen, ob er in einer von vier Tabellenspalten vorkommt.

Der Hintergrund: Die Tabelle hat 4 Spalten, für 4 mögliche Sprachen, die ein Mitarbeiter beherrschen kann. Nun hat die Abfrage auch vier Felder mit "Sprache1 - 4", diese aber in jeweils in einer von vier Spalten vorkommen können. Wie kann ich das in einem dynamischen SQL Query realisieren?

Beispiel:
Mitarbeiter kennt folgende drei Sprachen:
Sprache1 = Spalte1: Englisch
Sprache2 = Spalte2: Französisch
Sprache3 = Spalte3: Japanisch

Möglichkeit 1:
Der User selektiert in zwei von vier möglichen Feldern der Abfrage folgende Sprachen als Suchkriterium:
Selektion1: Französisch
Selektion2: Japanisch

Hier müßte er den Mitarbeiter finden, da er ja diese beiden Sprachen kennt.

Möglichkeit 2:
Der User selektiert in vier von vier möglichen Feldern der Abfrage folgende Sprachen als Suchkriterium:
Selektion1: Französisch
Selektion2: Japanisch
Selektion3: Spanisch
Selektion4: Englisch

Hier dürfte die Suche nicht erfolgreich sein, denn der Mitarbeiter kann kein Spanisch!

Bisher kenne ich nur die Möglichkeit zu sagen, dass genau der Wert der Selektion in genau der von mir bestimmten Spalte zu suchen ist. Geht das eventuell mit:

Code:

SELECT Sprache1, Sprache2, Sprache3, Sprache3 FROM Sprachen
WHERE
Sprache1 = Selektion1 OR Sprache1 = Selektion2 OR Sprache1 = Selektion3 OR Sprache1 = Selektion4
AND
Sprache2 = Selektion1 OR Sprache1 = Selektion2 OR Sprache1 = Selektion3 OR Sprache1 = Selektion4
...


Ich denke mir, dass es so ähnlich gehen muss, doch ich bekomme es irgendwie nicht hin. Kann mir jemand helfen?
Skogafoss
Moderator / Access-Halbprofi ;-)


Verfasst am:
10. Sep 2004, 16:29
Rufname:
Wohnort: Wiesbaden

AW: Einen Wert per Abfrage in mehreren Tabellenspalten suche - AW: Einen Wert per Abfrage in mehreren Tabellenspalten suche

Nach oben
       

Hallo Danny,
abgesehen davon, dass ich nicht viel davon halte, Felder "gleichen Inhaltstyps" (div. Sprachenfelder z.B. oder Zutaten eines Rezepts) in n Feldern einer Tabelle zu definieren (günstiger m.E. ist immer, eine separate (Positions-)Tabelle zu machen, mit den Feldern Mitarbeiter, Sprache, in der nicht anderes steht als
MA1 Englisch
MA1 Japanisch
MA1 Koreanisch
MA2 Französisch
MA2 Spanisch
etc. und diese mit der Mitarbeitertabelle über eine Beziehung zu verknüpfen) müsste folgende Abfrage funzen:
Code:

SELECT Sprachen.Mitarbeiter, [Krit1] AS Ausdr1, [Krit2] AS Ausdr2
FROM Sprachen
WHERE ((([Krit1]) In ([Sprache1],[Sprache2],[Sprache3],[Sprache4]) Or ([Krit1]) Is Null) AND (([Krit2]) In ([Sprache1],[Sprache2],[Sprache3],[Sprache4]) Or ([Krit2]) Is Null));

Habe das jetzt nur für zwei Kriterien gemacht, für mehr analog.
Wichtig ist dabei, dass du abfängst, dass eines oder mehrere der 4 Kriterien nicht ausgefüllt sein müssen, also Null sind. Daher die Abfrage auf Null oben.
Ich hoffe, es funzt, wenn nicht, gib mir bitte Bescheid.
Gruß
Skogafoss
Danny G.
Advanced VBA User


Verfasst am:
10. Sep 2004, 18:22
Rufname:
Wohnort: Berlin


AW: Einen Wert per Abfrage in mehreren Tabellenspalten suche - AW: Einen Wert per Abfrage in mehreren Tabellenspalten suche

Nach oben
       

Hallo,

danke für Deine Antwort. Doch mittlerweile habe ich selbst eine, naja nennen wir sie mal funktionierende, Lösung gefunden. Und zwar habe ich in VBA einen SQL Text selbst generiert und dabei für die Sprachen folgende Anweisung gestrickt:

Code:

If Not IsNull(kSprache1) Then Krit = Krit _
& " AND ((([Sonstige Qualifikationen / Sprachen].[Sprache 1]) = '" & kSprache1 & "') OR (([Sonstige Qualifikationen / Sprachen].[Sprache 2])='" & kSprache1 & "') OR (([Sonstige Qualifikationen / Sprachen].[Sprache 3])= '" & kSprache1 & "') OR (([Sonstige Qualifikationen / Sprachen].[weitere Sprachen])= '" & kSprache1 & "'))"

If Not IsNull(kSprache2) Then Krit = Krit _
& " AND ((([Sonstige Qualifikationen / Sprachen].[Sprache 1]) = '" & kSprache2 & "') OR (([Sonstige Qualifikationen / Sprachen].[Sprache 2])='" & kSprache2 & "') OR (([Sonstige Qualifikationen / Sprachen].[Sprache 3])= '" & kSprache2 & "') OR (([Sonstige Qualifikationen / Sprachen].[weitere Sprachen])= '" & kSprache2 & "'))"

If Not IsNull(kSprache3) Then Krit = Krit _
& " AND ((([Sonstige Qualifikationen / Sprachen].[Sprache 1]) = '" & kSprache3 & "') OR (([Sonstige Qualifikationen / Sprachen].[Sprache 2])='" & kSprache3 & "') OR (([Sonstige Qualifikationen / Sprachen].[Sprache 3])= '" & kSprache3 & "') OR (([Sonstige Qualifikationen / Sprachen].[weitere Sprachen])= '" & kSprache3 & "'))"


Das ist natürlich nur ein ganz kleiner Auszug und bezieht sich ledigleich auf die Sprachen. Ist viel Schreibarbeit und man muss tierisch aufpassen, dass sich nirgendwo ein Fehler eingeschleicht.

Mit den Tabellen bin ich ganz Deiner Meinung, doch die Datenbank war mir bereits gegeben, meine Aufgabe bestand nun darin ein Formular zu basteln, mit dem man über alle Datensätze nach beliebig vielen Kriterien suchen kann. Tja, es ist immer schwer, wenn man "Altmüll" bereinigen soll. Was solls, jetzt funzt es ja.

Nochmals vielen Dank und schon mal ein schönes WE!
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Tabellenspalten einblenden + Index-Problem 6 Ludi 484 17. Feb 2004, 15:44
Gast Tabellenspalten einblenden + Index-Problem
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage aus Formular erstellen 2 frkrone 3248 12. Feb 2004, 14:22
frkrone Abfrage aus Formular erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Wie kann ich mehr als 255Felder in eine Abfrage legen? 1 D.R. 2235 12. Feb 2004, 09:05
faßnacht(IT); Wie kann ich mehr als 255Felder in eine Abfrage legen?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage verlinken 4 dfo 1326 10. Feb 2004, 22:17
Willi Wipp Abfrage verlinken
Keine neuen Beiträge Access Tabellen & Abfragen: Suche Hilfe zu SQL (DAO 351 MS) - Abfrage 3 Berny_H 1005 04. Feb 2004, 11:41
borstel Suche Hilfe zu SQL (DAO 351 MS) - Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Automatischer Import per Anfügeabfrage ? 6 Major Tom 4017 04. Feb 2004, 09:38
Willi Wipp Automatischer Import per Anfügeabfrage ?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage, die sich auf 2 Abfragen + 1 Tabelle bezieht 1 caro456 1832 27. Jan 2004, 20:03
Willi Wipp Abfrage, die sich auf 2 Abfragen + 1 Tabelle bezieht
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage von Datensätzen ohne Inhalt 3 sebwa 2053 23. Jan 2004, 23:19
Gast Abfrage von Datensätzen ohne Inhalt
Keine neuen Beiträge Access Tabellen & Abfragen: Access abfrage nach 2 parametern 1 Weedy 3466 13. Jan 2004, 00:21
reke Access abfrage nach 2 parametern
Keine neuen Beiträge Access Tabellen & Abfragen: Bestimmte Abfrage erstellen ... nur wie ? 1 studi 2219 22. Dez 2003, 20:51
reke Bestimmte Abfrage erstellen ... nur wie ?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage, ob eine Abfrage ein Ergebnis hat 3 Esdo 3934 09. Dez 2003, 15:53
Fedaykin Abfrage, ob eine Abfrage ein Ergebnis hat
Keine neuen Beiträge Access Tabellen & Abfragen: Access 97 Abfrage Duplikate 9 gast 2419 02. Dez 2003, 14:39
Kay Access 97 Abfrage Duplikate
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel-Formeln