Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

SQL oder Wenn-Abfrage in Access 2013 (Notenschlüssel aus Tabelle in Unterformular zuordnen)

Frage Entwicklung Datenbanken

Mitglied: evolution

evolution (Level 1) - Jetzt verbinden

29.10.2014, aktualisiert 20:40 Uhr, 1323 Aufrufe, 4 Kommentare

Hallo,

ich hätte mal eine SQL-Frage..
Ich habe in Access 2013 eine Tabelle mit einem Notenschlüssel.

[sys_notenschlüssel]
ID punkte note
1 92 sehr gut
2 81 gut
3 67 befriedigend
4 50 ausreichend
5 30 mangelhaft
6 0 ungenügend


Nun habe ich ein Formular mit Unterformular, dass mir die einzelnen Tests mit den erreichten Punkten anzeigt von einzelnen Personen ausgibt.
Aus Bequemlichkeit mit Verknüpft VON und NACH.
01.
  
02.
SELECT sys_lks.bezeichnung, sys_lks_noten.punkte, sys_lks.max_punkte, sys_lks_noten.datum, sys_lks_noten.kunden_id 
03.
FROM sys_lks INNER JOIN sys_lks_noten ON sys_lks.id = sys_lks_noten.test_id;

Sieht dann so aus..

bezeichnung punkte punkte_max prozent datum
Test 1 65 100 65 29.10.2014
Test 2 27 100 27 29.10.2014
etc..

So weit alles gut! Aber jetzt würde ich gerne in der Liste automatisch noch den IHK-Schlüssel anzeigen, wobei ich scheitere.
Geht das überhaupt in einer Abfrage oder muss ich das evtl. mit einer Wenn-Funktion lösen (was mir nicht so gefallen würde)

Bin für jede Anregung dankbar.

Gruss Umpalumpa
Mitglied: 114757
30.10.2014 um 00:54 Uhr
dafür gibts in Access die switch Funktion die du auch in einer SQL-Abfrage nutzen kannst:
http://www.techonthenet.com/access/functions/advanced/switch.php

Gruß
jodel32
Bitte warten ..
Mitglied: MadMax
30.10.2014 um 12:40 Uhr
Moin,

füge in Deine Notentabelle noch eine Spalte "Punkte_bis" ein ("Punkte" ist dann praktisch "Punkte_von") und dann geht es mit einem einfachen join:
join sys_notenschlüssel on sys_lks_noten.punkte >= sys_notenschlüssel.Punkte and sys_lks_noten.punkte <= sys_notenschlüssel.Punkte_bis

Gruß, Mad Max
Bitte warten ..
Mitglied: evolution
30.10.2014 um 16:04 Uhr
Danke an Euch, aber ich hab es inzwischen anders gelöst. Ich hab die Schlüsseltabelle (100 Punkte-System) anders aufgebaut und und les da jetzt die Note mit nem JOIN aus. So kann ich jetzt auch die Detailnoten ausgeben.

Allerdings hab ich noch ein kleines Problem wenn es Tests gibt, die keine 100 Punkte haben. Dann muss ich mir erst noch nen Prozentsatz ausrechen. Das es etwas umständlich..
Bitte warten ..
Mitglied: Guenni
31.10.2014 um 19:50 Uhr
Zitat von evolution:

. . .

Allerdings hab ich noch ein kleines Problem wenn es Tests gibt, die keine 100 Punkte haben. Dann muss ich mir erst noch nen
Prozentsatz ausrechen. Das es etwas umständlich..


Hi umpalumpa,

du kannst doch mit VB ein Modul einfügen. Dort schreibst du eine Funktion zum Ausrechnen der erreichten Prozent.

Der Funktion übergibst du zwei Parameter:

- max = maximal zu erreichende Punktzahl

- punkte = erreichte Punktzahl

01.
Function auswertung(max, punkte) 
02.
 auswertung = FormatNumber(100 / max * punkte, 2) 
03.
End Function
Diese Funktion baust du in deine Abfrage ein:

01.
SELECT punkte, punkte_max, auswertung([punkte_max],[punkte]) AS Prozent FROM Tabelle1;

Gruß
Günni
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...