Top-Themen

Aktuelle Themen (A bis Z)

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

ACCESS 2007 DECODE oder vergleichbare Funktion

Frage Microsoft Microsoft Office

Mitglied: 68863

68863 (Level 1)

27.08.2008, aktualisiert 28.08.2008, 7818 Aufrufe, 2 Kommentare

Hallo,

in ORACLE SQL gab bzw gibt es die Funktion DECODE, mit der man entsprechend der IF-THEN-ELSE Logik bedingte Abfragen aus einer Tabelle erstellen kann. Das selbe habe mit einer Access 2007 Datenbank ausprobiert, leider mit wenig erfolg da Access die Funktion DECODE nicht kennt. Weiss jemand ob es eine Vergleichbare Funktion gibt?
Mitglied: Biber
28.08.2008 um 00:10 Uhr
Moin ABC123,

willkommen im Forum.

die M$Access-Funktionalität, die wohl der DECODE-Funktion am nächsten kommt, ist nicht etwa diese grottige IIF()-Verirrung, sondern die switch()-Funktion.
Diese ist allerdings (außer in meinen Memoiren) vermutlich nur in irgendwelchen Redmonder Praktikanten-Monatsberichten dokumentiert.
Aber für die lausigste DB-Syntax-Dokumentation der südlichen Quadranten dieses Spiralarms der Galaxis ist Access ja bekannt.

Deshalb schnell zwei kurze nachvollziehbare Beispiele:
01.
PARAMETERS Stichtag DateTime; 
02.
select  
03.
switch(m.type=1,"Tabelle", 
04.
           m.type= 5,"Abfrage", 
05.
           m.type= -32768 ,"Formular", 
06.
           m.type=-32766,"Makro", 
07.
           m.type=-32764, "Bericht", 
08.
           m.type=-32761, "Modul", 
09.
           m.Type=2,"MSysDb", 
10.
           m.type=3,"Container", 
11.
           m.type=4,"ODBC-verknüpfte Tabelle", 
12.
                               true, "Exotisches") as Objekttyp, 
13.
 m.Name, m.Type, m.flags, m.DateCreate AS angelegt, m.DateUpdate AS geandert 
14.
FROM MSysObjects AS m 
15.
WHERE (m.DateUpdate>=[stichtag]) 
16.
order by 1
Diese (skizzierte) Abfrage listet alle DB-Objekte auf, die seit einem einzugebenen Stichtag geändert worden sind.
Die SWITCH()-Funktion verwende ich hier exakt so, wie ich auch die DECODE-Funktion benutzen würde, inklusive des DEFAULT-Falls.
Zweiter Haken (neben der fehlenden Dokumentation): der SWITCH-Funktion geht relativ schnell die Puste aus... nach ein paar albernen Fallunterscheidungen meldet ACCESS dann "Ausdruck zu komplex" oder ähnliche Hilflosigkeitsbekundungen.
In diesem Fall musst Du dann SWITCH-Funktionen schachteln:
01.
PARAMETERS Stichtag DateTime; 
02.
select  
03.
switch(m.type=1,"Tabelle", 
04.
           m.Type=2,"MSysDb", 
05.
           m.type=3,"Container", 
06.
           m.type=4,"ODBC-verknüpfte Tabelle", 
07.
           m.type= 5,"Abfrage", 
08.
           m.type= 6, "Jet-verknüpfte Tabelle", 
09.
           m.type= 8,"Beziehung",    
10.
           true, switch(m.type= -32768 ,"Formular", 
11.
                               m.type=-32766,"Makro", 
12.
                               m.type=-32764, "Bericht", 
13.
                               m.type=-32761, "Modul", 
14.
                               m.type=-32758,"Benutzer", 
15.
                               m.type=-32757,"DB-Eigenschaft", 
16.
                               m.Type=-32756, "Datenzugriffsseite", 
17.
                               true, "Biber nich weiß")) as Objekttyp, 
18.
 m.Name, m.Type, m.flags, m.DateCreate AS angelegt, m.DateUpdate AS geandert 
19.
FROM MSysObjects AS m 
20.
WHERE (m.DateUpdate>=[stichtag] And [....]) 
21.
order by 1
[auf eine sinnvolle/praxisnahe WHERE-Clause hab ich hier verzichtet, is' nich unser Thema grade]

Grüße
Biber
Bitte warten ..
Mitglied: 68863
28.08.2008 um 08:08 Uhr
Super vielen, vielen Dank.

Gruß

ABC123
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Access 2007
gelöst Frage von EverestMicrosoft Office2 Kommentare

Hallo Access-Spezialist, kann mir jemand helfen mit der Access Datenbank, die ich selbst zusammen gebastelt habe. Ich habe zwei ...

Microsoft Office
Access 2007 funktioniert nicht mehr
Frage von Marcel93Microsoft Office3 Kommentare

Servus, folgendes Problem. Und zwar bei einem User komt folgende Fehlermeldung sobald er Kundendaten öffnen möchte: Office habe ich ...

Batch & Shell
Base64 Decode (Batch,VBS)
gelöst Frage von clragonBatch & Shell26 Kommentare

Hey Leute Ich suche gerade nach einem kleinen VBS schnipsel für mein aktuelles Batch Projekt. Das Schnipsel soll in ...

Microsoft Office
Outlook als .msi oder Vergleichbarem Format
gelöst Frage von PasswortMicrosoft Office2 Kommentare

Hallo, für die automatische Instalation von Office 2010 will ich gerne Office als msi oder in einem vergleichbarem Format ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 4 StundenInternet3 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 11 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 22 StundenWindows 103 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 1 TagSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless16 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...