Access - SQL-Abfrage

Excelmania

Lieutenant
Registriert
Apr. 2010
Beiträge
802
Mahlzeit.

Wie kann ich in die folgende Abfrage so erweitern, dass Nachnamen die mit Sch und St beginnen nicht angezeigt werden?

SELECT Nachname, Vorname, Titel, Einsatzort, Funknummer
FROM Personal
WHERE Nachname like "S*";

Und wie kann ich Titel und Nachname in der Form: Titel Leerzeichen(wenn titel vorhanden) Nachname wiedergeben?
 
Zuletzt bearbeitet:
and Nachname not like 'Sch%' and
Nachname not like 'St%';

so?

select Titel || " " || Nachname

Das ist SQL bin mir nicht sicher ob Access sich daran hält
 
Zuletzt bearbeitet:
So statt dem % muss ein * überall eingetragen werden.

SELECT Nachname, Vorname, Titel, Einsatzort, Funknummer
FROM Personal
WHERE Nachname Like 'S*' And Nachname Not Like 'Sch*' And Nachname Not Like 'St*';

Das mit Titel || " " || Nachname funktioniert nicht.
 
man kann bei Access auch VBA Code in die Abfrage packen, in dieser Art etwa:


SELECT iif(Titel IS NULL,Nachnahme,Titel & ' ' & Nachname) AS Name, Einsatzort, Funknummer
FROM Personal
WHERE Nachname Like 'S*' And Nachname Not Like 'Sch*' And Nachname Not Like 'St*';
 
SELECT Titel || " " || Nachname, Vorname, Einsatzort, Funknummer
FROM Personal
WHERE Nachname Like 'S*' And Nachname Not Like 'Sch*' And Nachname Not Like 'St*';

das geht nicht? Welche Fehlermeldung?
 
Als Fehlermeldung wird Angezeigt:

Ungültige Verwendung von senkrechten Strichen in Abfrageausdruck 'Titel || " "||Nachname'.

Und bei:

SELECT iif(Titel IS NULL,Nachnahme,Titel & ' ' & Nachname) AS Name, Einsatzort, Funknummer
FROM Personal
WHERE Nachname Like 'S*' And Nachname Not Like 'Sch*' And Nachname Not Like 'St*';

Öffnet sich ein Feld da soll ich ein Parameter eingeben. Egal ob ich etwas eingebe oder es offen lassen. Als rückgabe wert bekomme ich z.B. 2 Nachname oder 3 Nachname. Aber nicht den Titel?? 2 und 3 sind aber die TitelID zu den Titel bei Titel 1 ist Leer drin für kein Titel.
 
Richtig müsste es
and Nachname not like 'Sch*' and
Nachname not like 'St*';

heißen. Mit % wird nur ein Zeichen gesucht.
Auch bei Access musst du mit einem Hochkomma arbeiten statt mit zwei.

Und bei Acces kannst du einfach mit dem Kaufmannsund arbeiten.
Also Titel & " " & Nachname
 
Kann sein, dass er die Spaltennamen nicht richtig erkennt.
man kann die Spaltennamen auch mit eckigen Klammern einschliessen, dann sollte es klappen.

Oder die Abfrage mal im Entwurfsmodus öffnen. Dann wandelt Access die Namen automatisch um.
 
Mit []-Klammer oder mit der Variante Personal.[Titel] & " " & Personal.[Nachname] AS Ausgabe
beides mal steht eine 3 oder 2 davor. Wie bekomme ich das weg?

Die Variante mit dem If ist schöner bei dem Kaufmannsund ist bei den titellosen überall ein Leerzeichen dann bei der Ausgabe vor.

Folgendes klappt nicht:
Code:
SELECT IIf([Titel.Titel] Is Null,[Nachname],[Titel.Titel] & ' ' & [Nachname]) AS Name, Personal.Nachname, Personal.Vorname, Personal.Titel, Personal.Einsatzort, Personal.Funknummer
FROM Personal, Titel
WHERE Personal.titel = Titel.Titel
and (((Personal.Nachname) Like 'S*' And (Personal.Nachname) Not Like 'Sch*' And (Personal.Nachname) Not Like 'St*'));
Ergänzung ()

Moin.

Nun bekomme ich es zwar hin das die titelträger richtig angezeigt werden aber nicht mehr die personen ohne titel.

Code:
SELECT IIf([Personal!Titel] Is Null,[Nachname],[Titel]![Titel] & ' ' & [Personal]![Nachname]) AS Name, Personal.Vorname, Personal.Einsatzort, Personal.Wäschenummer
FROM Titel INNER JOIN Personal ON Titel.[TitelID] = Personal.[Titel]
WHERE (((Personal.Nachname) Like 'S*' And (Personal.Nachname) Not Like 'Sch*' And (Personal.Nachname) Not Like 'St*'));
 
Zuletzt bearbeitet:
Zurück
Oben