Posts Tagged ‘Access’

Dienstag, 20. Januar 2015

SQL-Query-Editor in Microsoft Access mit einer anderen Schrift

Microsoft Access richtet sich an den sog. Klickibunti-Datenbankentwickler (der Bruder des Klickibunti-Systemadministrators), weshalb es nicht verwundert, dass das Produkt zwar einen SQL-Editor für Datenbankabfragen mit sich bringt – dieser einem gestandenen Datenbankentwickler der alten Schule aber die Haare zu Berge stehen lässt.

Nicht nur kennt der Editor weder Syntax-Highlighting, noch Autovervollständigung – nein, er wird auch standardmässig mit einer Schrift in Schriftgrösse 8 Punkt angezeigt. Das ist wahrscheinlich Microsofts Art zu sagen, was man in Redmond von den SQL-Puristen wirklich denkt …

Immerhin die Schriftgrösse lässt sich anpassen. Bei mir ist dies Consolas, eine Monospace-Schrift, mit Schriftgrösse 18. Irgendwie muss man die 22 Zoll Bildschirmfläche im Büro ja füllen …

Microsoft Access Optionen
image-6086

Tags: , , , , , ,
Labels: Uncategorized

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 26. Juli 2012

Access stellt importierte Excel-Zeilenschaltungen als Sonderzeichen dar

Microsoft-Produkte weisen seit Jahrzehnten kompromisslose Interoperabilität auf:

As you have found, Excel uses only the line feed character (ASCII 10) to indicate a line break, while Access uses carriage return + line feed (ASCII 13 and ASCII 10).

Damit die Zeilenschaltungen auch in Access als Zeilenschaltungen angezeigt werden, führt man nach dem Import einer Excel-Datei in eine Access-Tabelle folgendes Query aus:

UPDATE Feststellungen SET Feststellung = Replace(Feststellung,Chr(10),Chr(13) & Chr(10));

Via: Import Text from Excel with line breaks (2003)

Tags: , , , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 17. April 2012

Microsoft Access meldet „Overflow“

Heute meldete mir Microsoft Acceess äusserst nichtssagend „Overflow“, als ich ein Query ausführen wollte. Wie sich nach einigem Debugging herausstellte, versuchte ich, den Wert eines Tabellenfeldes mit einem Wert eines anderen Tabellenfeldes zu dividieren, wobei der Nenner 0 war.

Merke:

  1. Access-Fehlermeldungen sind Microsoft-typisch nichtssagend …
  2. … und zudem auch noch falsch, es hätte nämlich „Division by Zero“ heissen sollen

Tags: , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 29. März 2012

Mit Access eine Textdatei mit Pipe-Trennzeichen einlesen

Will man unter Access 2007 eine Textdatei einlesen, welche Datensätze enthält, dessen Felder mit einem Strich (engl. „Pipe“) getrennt sind, muss man folgenden Trick beachten:

Damit das Pipe-Symbol in das Trennzeichenfeld eingeben kann, muss der Inhalt des leeren Feldes zuerst mit der Maus ausgewählt werden (Ctrl-A). Erst dann kann das Symbol eingegeben werden:

image-5047

Quelle: Import Text file with Pipe Delimited – 2007

Tags: , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 8. März 2012

Bedingte Formatierung in Microsoft Access mit mehr als drei Prüfwerten

Von Microsoft ist man Benutzerunfreundlichkeit gewohnt, und so verhält es sich auch mit der bedingten Formatierung (Conditional Formatting) von Reporten in Microsoft Access: Der Wert eines Feldes kann mit den GUI-Tools nur auf drei Stati gleichzeitig geprüft werden.

Zum Glück kann man auf VBA ausweichen. Hierzu öffnet man die Design View des Reports, wählt die Sektion „Detail“ mit Klick auf dessen Balken aus, wechselt im Eigenschaftsfeld auf Events und erstellt dort für das Ereignis „On Format“ eine VBA-Prozedur mit dem Code Builder.

Dort kann man als geübter Entwickler dann mit dem Select Case-Konstrukt arbeiten:

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
    Dim sStatus As Variant 'To account for null values
    sWert = Me!Wert
    
    Select Case sWert
    Case "Yes"
        ' Grün
        cColor = RGB(0, 255, 0)
    Case "In most cases"
        ' Gelb
        cColor = RGB(255, 255, 0)
    Case "In almost half the cases"
        ' Orange
        cColor = RGB(255, 215, 0)
    Case "In a few cases"
        ' Fuchsia
        cColor = RGB(255, 0, 255)
    Case "No"
        ' Rot
        cColor = RGB(255, 0, 0)
    Case "Not applicable", "N/A"
        cColor = RGB(192, 192, 192)
    Case Else
        cColor = RGB(255, 255, 255)
    End Select
    
    Debug.Print "Setting Color to " & cColor & " based on " & sWert
    Me!Wert.BackColor = cColor
End Sub

Ein Nachteil hat das ganze aber: Die Hintergrundfarbe wird nur in der Druckvorschau angezeigt. Auch das wieder: Typisch Microsoft. Unbrauchbare Software aus dem letzten Jahrhundert.

Tags: , , , ,
Labels: Programmierung

Keine Kommentare | neuen Kommentar verfassen