Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Wenn/Dann in Abfrage

Begonnen von Skaletti, April 05, 2014, 11:55:07

⏪ vorheriges - nächstes ⏩

Skaletti

Hallo und guten Tag,
Ich habe eine Abfrage mit 4 Spalten.
Schütze/inn - Verein - Klassen_FK - Gesamt
Wenn jetzt in der Klassen_FK ein "A" oder "K" steht soll in der Spalte Gesamt
eine "3" stehen. Ist das möglich?
Ich gehe mal davon aus das nur mit SQL-Code geht.
So sieht der jetzige Code aus.

SELECT Teilnehmerliste.[Schütze/inn], Teilnehmerliste.Verein, Teilnehmerliste.Klassen_FK, Teilnehmerliste.Gesamt
FROM Teilnehmerliste
WHERE (((Teilnehmerliste.Verein) Like "*SG Hamm*"));


Für jeden Hinweis und Hilfe schon mal meinen Dank im Voraus.
Gruß Skaletti!

DF6GL

Hallo,

wenn man mal davon absieht,

-- Sonder-/Leerzeichen in Namen nicht zu benutzen
-- Schlüsselfelder nicht mit Datentyp "Text" zu deklarieren
-- Berechnete (berechenbare)  Größen (--> "Gesamt" ??) nicht in Tabellenfelder zu speichern, in diesem Fall sogar doppelt gemoppelt und völlig unmöglich: Tabellenfeld-Inhalt als auch Rechenwert im selben Feld/Spalte
-- Tabellen nicht zu normalisieren,

dann könnte das sowohl als Ausdruck als auch als VBA-Funktionsaufruf realisiert werden (wobei sich mir der eigentliche Sinn dahinter nicht so recht erschließt).:


Ausdruck:

SELECT Teilnehmerliste.[Schütze/inn], Teilnehmerliste.Verein, Teilnehmerliste.Klassen_FK, IIF(Klassen_FK ="A" Or Klassen_FK ="K",3,Null) As Insgesamt
FROM Teilnehmerliste
WHERE (((Teilnehmerliste.Verein) Like "*SG Hamm*"));


Funktionsaufruf:

in einem Standardmodul

Public Function fktMeineFunktion (txt as String) as Variant
Select case txt
Case "A","K"
fktMeineFunktion = 3

Case Else
fktMeineFunktion = Null

End Select
End function


SELECT Teilnehmerliste.[Schütze/inn], Teilnehmerliste.Verein, Teilnehmerliste.Klassen_FK, fktMeineFunktion( Klassen_FK) As Insgesamt FROM Teilnehmerliste
WHERE (((Teilnehmerliste.Verein) Like "*SG Hamm*"));



Ich rate dringend dazu, zunächst oben angesprochene Unzulänglichkeiten zu eliminieren.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Skaletti

Hallo DF6GL.
Vielen Dank für die schnelle Hilfe und Tips.
Habe als erstes Deine Ratschläge befolgt:
Sonderzeichen entfernt, Schlüsselfeld nicht mehr Datentyp "Text", Gesamt wird nicht mehr in Tabelle gespeichert. Bin noch absoluter Anfänger.
In der Spalte "Klassen" werden durch bestimmte Kriterien, in diesem Fall das Alphabet, die Teilnehmer in die dafür bestimmten Abfragen sortiert.
Die beiden Kriterien "A" und "K" haben einen andren Wert.
Danke für den fertigen Code. Der Funzt.
Aber was heißt " Tabellen nicht normalisieren?
Gruß Skaletti!

DF6GL

Hallo,

zum Thema "Normalisierung" siehe u. st. Links 1 und 1a.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Skaletti

Vielen Dank für die Hilfe.
Gruß Skaletti!