Archive for April, 2009


Tipps und Tricks #2 (SQL)

Auf dem SQL – Server eine Zahl in der Form 123.456,78 ausgeben.

Normalerweise wird bei einer Anwendungsentwicklung auf die Schichtenteilung geachtet, da wird der Datenbankserver nur zur Datenhaltung genutzt. Manchmal braucht man aber mal eben ein paar Daten direkt aus dem Server. Was liegt da näher, als diese mal eben per SQL abzugreifen und per E-Mail zu verschicken. Schade nur, dass gerade Fließkommazahlen so schlecht zu lesen sind. Abhilfe schafft da eine kleine SQL Funktion, welche sich um die Aufbereitung mit Tausendertrennzeichen und zwei festen Nachkommastellen kümmert. Wahrscheinlich geht das auch viel einfacher, ab so hat es wenigstens Spaß gemacht ;-)

Hier der SQL Code:

create  function Format_Number
    (@Number float)

    returns varchar(20)
as
begin
    declare @Front    int
    declare @Back    int
    declare @S        varchar(20)
    declare @T        varchar(20)
    declare @i        int
    set @Front    = round(@Number, 0)
    set @Back    = round((@Number – round(@Number, 0)), 2) * 100

    if @Back<0 set @Front = @Front -1
    if @Back<0 set @Back = 100 + @Back

    set @T = convert(varchar(20), @Front, 0)
    set @i = len(@T)
    while (@i > 0)
    begin
        if @i % 3 = 0 set @S = @S + ‘.’
        set @S = isnull(@S, ”) + left(right(@T, isnull(@i, 1)), 1)
        set @i = @i – 1
    end
    set @S = right(space(20) + @S + ‘,’ + right(’00′ + convert(varchar(2), @Back), 2), 20)
    RETURN @S
end

  • Share/Bookmark

Tipps und Tricks #1 (Access)

Eine Progressbar ohne zusätzliche Controls oder Bibliotheken erstellen

imageMal eben eine grafisch einen Balken in einer Abfrage, einem Formular oder einem Bericht zu erstellen, war bis jetzt immer eine Kleine Herausforderung und nicht so einfach machbar. Bis jetzt, und dann bin ich auf einen Tipp gestoßen, der einfach aber, wahrscheinlich daher, genial ist:

Man nimmt die Funktion “String(Number as Long, Character)“, welche ein Zeichen (Character) n Mail (Number) wiederholt. Fehlt nur noch ein Zeichen, welches als Block ohne Zwischenraum aneinander zu reihen ist. Dazu bedient man sich der Funktion “chrw(CharacterCode as Long)“, welche eine Unicodenummer eines Zeichens erwartet und das Unicodezeichen zurückgibt. Unter der Unicodenummer 9608 findet man dann ein taugliches Zeichen, mit dem sich die Progressbar darstellen lässt. Möchte man Prozentwerte für die Bardarstellung benutzen, so sollte man diese mit einem Faktor multiplizieren, damit der Parameter “Numer” in der Funktion “String” immer größer als 1 ist.

Hier der ganze Code: BAR: String([Prozent]*10;chrw(9608))

Download einer Datenbank mit einem Beispiel: Tipps und Tricks #1 Access

via: datapigtechnologies

  • Share/Bookmark
Powered by WordPress | Theme: Motion by 85ideas.